1

我的 Step 模型中有 excel、video 和多项选择布尔列。我正在尝试获取它,因此用户必须选择三者之一,并在保存时将其作为真传回数据库。现在我的两个问题是a)当我选择一个时,它不会取消选择其他的,b)单选按钮与标记它的文本位于不同的行上。任何帮助,将不胜感激。

 <fieldset class="stepCreator">
<%= "Step" %>
<%= f.label :description, "Description" %>
<%= f.text_field :description %>
<div>
<%= f.label :excel, "Excel" %>
<%= f.radio_button(:excel, true, :checked => true) %>
<%= f.label :video, "Video" %>
<%= f.radio_button(:video, true) %>
<%= f.label :multiple_choice, "Multiple Choice" %>
<%= f.radio_button(:multiple_choice, true) %>

</div>

<%= f.hidden_field :_destroy %>

<%= link_to "remove", '#', class: "btn btn-danger btn-mini remove_fields "%>

 </fieldset>
4

2 回答 2

1

从文档中:

http://guides.rubyonrails.org/form_helpers.html 试试:

<%= radio_button_tag(:age, "child") %>
<%= label_tag(:age_child, "I am younger than 21") %>
<%= radio_button_tag(:age, "adult") %>
<%= label_tag(:age_adult, "I'm over 21") %>

单选按钮必须在您的模型中选择相同的属性,在这个例子中,我选择了年龄属性,我可以给它两个值中的一个,或者他是一个孩子,或者他是一个成年人

希望能帮助到你

于 2013-08-07T21:25:38.937 回答
1

实际上你有两个非常不同的问题。

  1. 所有单选按钮(您要选择一个并自动取消选择其他单选按钮)必须具有相同的名称和不同的值,因此应该类似于:

    f.radio_button(:media, :excel, :checked => true)

    f.radio_button(:媒体,:视频)

  2. 要使标签与复选框位于同一行,您只需更改 CSS。

于 2013-08-07T21:28:06.310 回答