simple_formを使用し、HABTM関連モデルのフィールドを作成すると、複数のオプションを受け入れる選択ボックスが表示されます。
単一のオプションを受け入れる複数の選択ボックスを持つ方法はありますか?
たとえば、カテゴリがある場合:
Category1 => <select>options...</select>
Category2 => <select>options...</select>
Category3 => <select>options...</select>
etc...
simple_formを使用し、HABTM関連モデルのフィールドを作成すると、複数のオプションを受け入れる選択ボックスが表示されます。
単一のオプションを受け入れる複数の選択ボックスを持つ方法はありますか?
たとえば、カテゴリがある場合:
Category1 => <select>options...</select>
Category2 => <select>options...</select>
Category3 => <select>options...</select>
etc...
次のモデルを想定しています。
class Business < ActiveRecord::Base
    has_and_belongs_to_many :categories
class Category < ActiveRecord::Base
    has_and_belongts_to_many :businesses
次の Rails ヘルパーを使用して、各カテゴリの選択ボックスを表示できます。
- @business.categories.each do |c|
      = f.collection_select :category_ids, Category.all, :id, :name, {:selected => c.id}, {:name => 'business[category_ids][]'}
次に、JavaScript を使用して新しい選択ボックスを動的に作成できます。この Railscast では、基本について説明しています。
州/地域などの simple_form_for 内
class State < ActiveRecord::Base
  has_and_belongs_to_many :regions
(わかりやすくするために、不要なフォーム要素を省略しています)
<%= simple_form_for @state do |f| %>
    <%= f.association :regions, as: :check_boxes, collection: Region.all.sort, :selected => @state.regions, :label => false %>
<% end %>
これにより、すべてのリージョンがチェックボックスのリストとして表示されます (もちろん、フィルタリングできます)。既に記録されているリージョンが選択されています。