2
Я сбиваю с толку об ассоциации. Я попытался написать код ниже, но рельсы были возвращены мне "undefined method` subs ".Как применять правила ассоциации
def show
@product = Product.find(params[:id])
@materials = @product.materials.subs
respond_to do |format|
format.json { render json: [ @product,@materials ]}
end
end
Я хочу, чтобы модель продукта относилась к Sub model, и я получаю запись Sub model. Если кто-то знает об этой проблеме, пожалуйста, скажите мне.
class Product < ActiveRecord::Base
has_many :product_materials
has_many :materials, :through => :product_materials
end
class ProductMaterial < ActiveRecord::Base
belongs_to :product
belongs_to :material
end
class Material < ActiveRecord::Base
has_many :product_materials
has_many :products, :through => :product_materials
has_many :material_subs
has_many :subs, :through => :material_subs
end
class MaterialSub < ActiveRecord::Base
belongs_to :material
belongs_to :sub
end
class Sub < ActiveRecord::Base
has_many :material_subs
has_many :materials, :through => :material_subs
end
'спросил 1 мин ago', 'ответил 1 мин. назад' - это довольно быстро! –
, который обеспечивает n + 1, использует 'includes' –
Он полностью разрешен. Огромное спасибо!! – johnny