Rails – 收集集的单选按钮
我有以下输出选择框:
true %>
什么是rails方法来代替输出单选按钮?
对于单选按钮,您必须自己迭代并输出每个单选按钮及其标签。 事实上这很容易。
<% RequestType.all.each do |rt| %> <%= f.radio_button :request_type_id, rt.id %> <%= f.label :request_type_id, rt.title %> <% end %>
或者在haml中,如果它比erb更受欢迎 :
- RequestType.all.each do |rt| = f.radio_button :request_type_id, rt.id = f.label :request_type_id, rt.title
在Rails 4中有一个collection_radio_buttons :
<%= f.collection_radio_buttons :request_type_id, RequestType.all, :id, :title %>
使用simple_form gem:
在控制器中:
@request_types = RequestType.all
在一种forms:
<%= f.association :request_type, collection: @request_types, as: :radio_buttons %>
如何将f.collection_radio_buttons
与Enum
用作集合的示例:
<%= f.collection_radio_buttons :reason, MyEnum.statuses.map {|k,v| [k,k]}, :first, :last do |b| %> <%= b.radio_button %> <%= b.label %> <% end %>
我不认为Rails中有默认选项来实现这一点; 幸运的是,插件是你的朋友,我觉得你想要的东西很简单,只需要simple_form 。
这是你的单选按钮,你可以在下面这样: –
<%= f.radio_button:request_type_id,'1',{"id","title"} %>id <%= f.radio_button:request_type_id,'2',{"id","title"} %>title