ruby-on-rails – 简单形式的单选按钮

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 简单形式的单选按钮前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用simple_form gem并且非常喜欢它的简单性.但是,尝试设置设置一个简单的单选按钮超出了我,因为我不断收到以下错误

“未定义的局部变量或方法`素食主义者’”

这是我到目前为止所拥有的

<%= 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.

解决方法

在控制器操作中,添加此行
def actionname
    @types = ModelName.select(:diettype).distinct
    ..
  end

哪里,

actionname是呈现视图的操作.

ModelName是模型的名称,其中包含diettype字段.

在您看来,替换

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

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

编辑:

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

以上行表示:

创建一个单选按钮集合,其中,

1st:diettype:变量将在您选择单选按钮时设置

@types:这个集合正在传递

第二名:diettype:正在选择的值

第3名:diettype:按钮旁边的显示文字

EDIT2

正如您指定的那样,您需要一个静态集合,并且您没有从数据库获取任何值:

只需在视图中添加以下行,无需更改控制器:

<%= f.collection_radio_buttons :name,[['vegan',['vegetarian','vegetarian']],:first,:last %>

猜你在找的Ruby相关文章