Rails上的复选框

在Ruby on Rails中制作与某个问题相关的复选框的正确方法是什么? 目前我有:


Scenarios
Role profiles
Private messages
Chatrooms
Forums
News
Polls

我还希望能够自动检查以前选择的项目(如果重新加载此表单)。 如何将参数加载到这些的默认值?

您正在查看以下内容:

 
<% [ 'scenarios', 'role_profiles', ... , 'polls' ].each do |feature| %>
<%= check_box_tag 'features[]', feature, (params[:features] || {}).include?(feature) %> <%= feature.humanize %> <% end %>

虽然如果您已经有Feature模型,具有features表和has_many :features关系,您可能需要这样:

 
<% for feature in Feature.find(:all) do %>
<%= check_box_tag 'feature_ids[]', feature.id, @model.feature_ids.include?(feature.id) %> <%= feature.name.humanize %> <% end %>