1

私は2つのモデルを持っています:

class Game < ActiveRecord::Base
  attr_accessible :name
  has_and_belongs_to_many :categories
end

class Category < ActiveRecord::Base
  attr_accessible :name
  has_and_belongs_to_many :games
end

_form.html.erb次のようなものを生成するHTML複数選択が必要です。

<select id="game_category_id" name="game[category_id]" multiple="multiple">
  <option value="1">First Person Shooter</option>
  <option value="2">Role Playing Game</option>
</select>

フォームを送信して を新規作成gameまたは編集するgame場合、選択したカテゴリはそれに応じて保存する必要があります。通常、フィールドには Rails のcollection_selectメソッドを使用しselectます。それを複数選択にも使用できますか?

<%= f.collection_select(:category_id, Category.order('name'), :id, :name, {include_blank: true}) %>

もちろん、問題の 1 つは、モデルにcategory_idフィールドがないことです。gameのコレクションですcategories。最新の安定した Rails (現時点では 3.2.9) を使用しています。

4

0 に答える 0