gpt4 book ai didi

ruby-on-rails - 简单表单单选按钮

转载 作者:行者123 更新时间:2023-12-04 10:51:45 27 4
gpt4 key购买 nike

我正在使用 simple_form gem 并且非常喜欢它的简单性。但是,尝试设置一个简单的单选按钮超出了我的范围,因为我不断收到以下错误

“未定义的局部变量或方法`vegan'”

1.这是我目前所拥有的

 <%= f.collection_radio_buttons :diettype, [[vegan, 'vegan'] ,[vegetarian, 'vegetarian']]%>

2.这里是我在 simple_form 之前使用的带有更新/补丁方法的代码,它将更新和保存用户需求
 <%= f.label(:diettype, "Vegan") %>
<%= f.radio_button(:diettype, "Vegan") %>
<%= f.label(:diettype, "vegetarian") %>
<%= f.radio_button(:diettype, "vegetarian")%>

3.这是我想要重现的
<select>
<option> vegan </option>
<option> Vegetarian </option>
</select>

注意 - 素食主义者和素食主义者是选择选项,它们将存储在 :diettype 的数据库列中。

最佳答案

在您的 controller action , 添加这一行

  def actionname
@types = ModelName.select(:diettype).distinct
..
end

在哪里,
actionname是呈现您的 View 的操作。
ModelName是您的模型名称,其中包含 diettype其中的字段。

在您的 view , 代替
<%= f.collection_radio_buttons :diettype, [[vegan, 'vegan'] ,[vegetarian, 'vegetarian']]%>


<%= f.collection_radio_buttons :diettype, @types, :diettype, :diettype %>

编辑:
<%= f.collection_radio_buttons :diettype, @types, :diettype, :diettype %>

上面一行的意思是:

创建一组单选按钮,其中,

第一 :diettype : 选择单选按钮时将设置变量
@types : 这个集合正在通过

第二 :diettype : 被选择的值

第三 :diettype : 按钮旁边的显示文本

编辑2

正如您指定的那样,您需要一个 static collection并且您没有从数据库中获取任何值:

只需在 View 中添加以下行,无需更改 Controller :
<%= f.collection_radio_buttons :name, [['vegan', 'vegan'] ,['vegetarian', 'vegetarian']],:first, :last %> 

关于ruby-on-rails - 简单表单单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21855709/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com