我有一个可以有多个产品的商店模型。每个产品都有一个类别。
获取商店中产品类别列表的最佳方式是什么?
例如。商店A有产品A(Cat1),产品B(Cat1),产品C(Cat2)
当我通过商店A的ID时,我想要Cat1,Cat2。
答案 0 :(得分:0)
所以,
在您的“产品”表格中,您应该有 store_id 字段,并且在“类别”表格中,您应该有 product_id 字段。然后在模型中设置 has_many 和 belongs_to 关系。
# beware of the use of pluralization
# Store model
class Store < ActiveRecord::Base
has_many :products
end
# Product model
class Product < ActiveRecord::Base
belongs_to :store
has_one :category
end
# Category model
class Category < ActiveRecord::Base
belongs_to :product
end
# e.g. access category of a product in your Store Controller
# or loop it in your Store view
@store = Store.find_by_id(myInt)
@firstProductCategory = @store.products[0].category.name
答案 1 :(得分:0)
@store = Store.find(ID)
@categories = @store.products.map {|p| p.category }