私は3つのモデルを持っています:
class Product < ActiveRecord::Base
has_many :product_recommendations, :dependent => :destroy
has_many :recommendations, :through => :product_recommendations
end
class Recommendation < ActiveRecord::Base
has_many :product_recommendations, :dependent => :destroy
has_many :products, :through => :product_recommendations
end
class ProductRecommendation < ActiveRecord::Base
belongs_to :recommendation
belongs_to :product
end
新しい推奨事項を作成する方法もあります。
def self.get_recommendation(product, rating_set)
r = Recommendation.create
r.title = @title
r.description = @description
r.cover_img = @image_url
r.curr_price = @curr_item_price
r.save!
end
メソッドを呼び出すときに、製品オブジェクトと rating_set 属性を渡します。
1)製品オブジェクトとの product_recommendation 関連付けを作成するにはどうすればよいですか。2) 新しく作成されたレコメンデーション オブジェクト。3) ProductRecommendation 結合テーブルに属する追加の属性 (rating_set)。
運が悪かったので、次のことを試しました:
product.create_product_recommendations( {:rating_set => rating_set}, {:recommendation => r} )
product.recommendations.create( :rating_set => rating_set, :recommendation => r )