Ruby-on-rails Rails:form_for 和单选按钮
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/15640470/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Rails: form_for and radio buttons
提问by dennismonsewicz
I have the following in my form_for
我有以下内容 form_for
<div class="multiple_students">
<%= f.label :multiple_classes, "Do you teach multiple classes?" %>
<%= f.radio_button :multiple_classes, 1, checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'What is your average class size?' } %> <%= f.label :multiple_classes, "Yes", class: 'multiple_classes' %>
<%= f.radio_button :multiple_classes, 0, checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'How many kids do you teach?' } %> <%= f.label :multiple_classes, "No", class: 'multiple_classes' %>
</div>
<div class="number_of_students hide">
<%= f.label :students %>
<%= f.text_field :students, :class=>"student_count required digits" %>
</div>
For some reason the "No" is ALWAYS checked even if the multiple_classesattribute on the user is selected a true in the database (multiple_classesis a boolean type in the database)
出于某种原因,即使multiple_classes用户的属性在数据库中选择为真(数据库multiple_classes中的布尔类型),也始终检查“否”
回答by Sri
Ok if you want to use only the radio_buttons, check the following and let me know if thats worked.
好的,如果您只想使用 radio_buttons,请检查以下内容并让我知道这是否有效。
<%= f.radio_button :multiple_classes, "1", checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'What is your average class size?' } %> <%= f.label :multiple_classes, "Yes", class: 'multiple_classes' %>
<%= f.radio_button :multiple_classes, "0", checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'How many kids do you teach?' } %> <%= f.label :multiple_classes, "No", class: 'multiple_classes' %>
put the 1and 0with quotes and try....
把1and0加引号并尝试....
Its not an answer... its only an idea...
它不是一个答案......它只是一个想法......
回答by rakvium
The problem with always checked "No" is in a typo.
始终选中“否”的问题在于打字错误。
If you revert @user.multiple_classes?for "No", checkbox will be unchecked if @user.multiple_classes?is true, so the next code chunk should work fine:
如果恢复@user.multiple_classes?了"No",复选框将被选中,如果@user.multiple_classes?是true,那么下一个代码块应该能正常运行:
<%= f.radio_button :multiple_classes, 1, checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'What is your average class size?' } %> <%= f.label :multiple_classes, "Yes", class: 'multiple_classes' %>
<%= f.radio_button :multiple_classes, 0, checked: [email protected]_classes?, class: 'multiple_classes', data: { question: 'How many kids do you teach?' } %> <%= f.label :multiple_classes, "No", class: 'multiple_classes' %>

