Rails - 收集集的单选按钮

AnA*_*ice 10 ruby-on-rails ruby-on-rails-3

我有以下输出选择框:

<%= f.label :request_type_id %><br />
<% requestTypes = RequestType.all %>
<%= f.collection_select :request_type_id, requestTypes, :id, :title, :prompt => true %>
Run Code Online (Sandbox Code Playgroud)

什么是rails方法来代替输出单选按钮?

Max*_*yak 16

对于单选按钮,您必须自己迭代并输出每个单选按钮及其标签.事实上这很容易.

<% RequestType.all.each do |rt| %>
  <%= f.radio_button :request_type_id, rt.id %>
  <%= f.label :request_type_id, rt.title %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

或者在haml中,如果它比erb更受欢迎:

- RequestType.all.each do |rt|
    = f.radio_button :request_type_id, rt.id
    = f.label :request_type_id, rt.title
Run Code Online (Sandbox Code Playgroud)


cwe*_*ton 6

在Rails 4中有一个collection_radio_buttons:

<%= f.collection_radio_buttons :request_type_id, RequestType.all, :id, :title %>
Run Code Online (Sandbox Code Playgroud)