これがカテゴリーモデルです。カテゴリは別のカテゴリに属することができます。
class Category < ActiveRecord::Base
attr_accessible :title, :parent_id
has_and_belongs_to_many :products, :join_table => :products_categories
belongs_to :parent, :foreign_key => "parent_id", :class_name => "Category"
has_many :categories, :foreign_key => "parent_id", :class_name => "Category"
end
これは製品モデルです:
class Product < ActiveRecord::Base
attr_accessible :comment, location_id, :category_ids
has_and_belongs_to_many :categories, :join_table => :products_categories
belongs_to :location
end
製品のアクティブ管理フォームで、parent_idに基づいてチェックボックスを階層的に並べ替えます。
- カテゴリ1[]
- カテゴリ2[]
- カテゴリ3[]
- カテゴリ6[]
- カテゴリ4[]
- カテゴリ5[]
- カテゴリー7[]
以下は私がフォームで持っている限りです:
ActiveAdmin.register Product do
form do |f|
f.inputs "Product" do
f.input :comment
f.input :categories, :as => :check_boxes
f.input :location
end
f.buttons
end
end
現在、フォームはチェックボックスを取得してデータを正しく保存しますが、グループ化をどこから始めればよいかわかりません。ドキュメントを調べましたが、明らかなものは何も見つかりませんでした。