2
私はアソシエーションについて混乱しています。 以下のコードを書こうとしましたが、レールが返されました "未定義のメソッド` subs '"。アソシエーションルールを適用するには
def show
@product = Product.find(params[:id])
@materials = @product.materials.subs
respond_to do |format|
format.json { render json: [ @product,@materials ]}
end
end
私は製品モデルがサブモデルに関連しており、サブモデルレコードを取得したいと思っています。 誰かが解決するためにこの問題について知っていれば教えてください。
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'を尋ねたため
subs
を返します。 「1分前に答えました」 - それはかなり速いです! –はn + 1に提供し、 'includes'を使用します –
完全に解決しました。どうもありがとうございます!! – johnny