2

想要为 has_many :through 做一个复选框。Railscast 在 2007 年推荐这个:check_box_tag "product[category_ids][]", category.id, @product.categories.include?(category)。这仍然相关还是有更自然的方式使用 form_for 在 Rails 3 中执行此操作?

4

1 回答 1

2

我的建议是查看 Justin French 的 Formtastic gem:https ://github.com/justinfrench/formtastic

它使在 Rails 中使用表单变得非常简单和直观。

您的表单可能如下所示:

<%= semantic_form_for @product do |f| %>
  <%= f.inputs do |f| %>
    <%= f.input :name %>
    <%= f.input :categories, :as => :check_boxes, :collection => Categories.all %>
  <% end %>
  <%= f.buttons %>
<% end %>

然后循环并使用复选框标记要简单得多。

一旦你去formtastic你永远不会回去。

于 2011-03-18T02:39:24.927 回答