親モデルの対応する(子)モデルを簡単かつ効率的にフェッチして、テンプレートにレンダリングする方法はありますか?参加の有無にかかわらず、それを行う方法を知りたいです
たとえば、次の3つのテーブルについて考えてみます。
# ProductGroup is the highest parent
class ProductGroup < ActiveRecord::Base
attr_accessible :name, :merchant_id
has_many :product_items
has_many :product_group_selections
end
# ProductItem is a child of ProductGroup
class ProductItem < ActiveRecord::Base
attr_accessible :base_price, :name, :product_group_id
belongs_to :product_group
end
# ProductGroupSelection is a child of ProductGroup
class ProductGroupSelection < ActiveRecord::Base
attr_accessible :name, :price_extra, :product_attr_group_id, :product_item_id
belongs_to :product_group
has_many :product_group_selection_attrs
end
# ProductGroupSelectionAttr is a child of ProductGroupSelection
class ProductGroupSelectionAttr < ActiveRecord::Base
attr_accessible :name, :product_group_id
belongs_to :product_group_selection
end
私が欲しいのは、次のようなデータ構造です(product_groupsでmerchant_id = 1を検索する場合)
merchant_id 1 => {
ProductGroup.name, ProductGroup.merchant_id,
ProductItems => [...],
ProductGroupSelections => {ProductGroupSelections.name, ProductGroupSelectionAttrs => [...]}
}
このようにして、すべてのグループとそのサブモデルをループして、ERBを使用してフォームを生成できます。
ありがとうございました