2

has_many :through のチェックボックスを実行したい。2007 年の Railscast は、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

これにより、レールでのフォームの操作が非常に簡単かつ直感的になります。

フォームは次のようになります。

<%= 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 %>

チェックボックスタグをループして使用するよりもはるかに簡単です。

一度フォームタスティックになると、元には戻りません。

于 2011-03-18T02:39:24.927 に答える