我有一个使用Ruby构建的单选按钮,如下所示
<p>Which design do you prefer to use? </p>
<% [ 'Design 1', 'Design 2', 'Design 3', 'Design 4', 'Design 5' ].each do |theme| %>
<br><%= radio_button_tag 'theme', theme, @theme == theme %>
<%= label_tag "theme_#{theme}", theme.humanize %>
<% end %>
我想确保默认情况下始终选中第一个元素(即“设计1”),除非用户选择了其他设计。
您可以执行以下操作:传递checked
以检查项目
<%= radio_button_tag 'theme', theme, checked: @theme.FIELD_NAME == 'design' %>
详情请参阅此处http://apidock.com/rails/ActionView/Helpers/FormTagHelper/radio_button_tag
回答您的评论:
我不明白吗?:(这样
<%= radio_button_tag 'theme', theme %>
就变成<%= radio_button_tag'theme',theme,选中:@ theme.FIELD_NAME =='design'%> ??但这会引发错误?我只想默认选择第一个单选按钮元素–
FIELD_NAME
是模型上列的名称。要仅检查第一个项目,您可以尝试以下操作:只需添加checked: true
关键字
<%= radio_button_tag 'theme', theme, @theme == theme, checked: true %>
确定,因此您需要执行以下操作:
<% [ 'Design 1', 'Design 2', 'Design 3', 'Design 4', 'Design 5' ].each_with_index do |theme, i| %>
<% if i == 0 %>
<br><%= radio_button_tag 'theme', theme, @theme == theme, checked: true %>
<% else %>
<br><%= radio_button_tag 'theme', theme, @theme == theme %>
<% end %>
<%= label_tag "theme_#{theme}", theme.humanize %>
<% end %>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句