在我的應用中,產品has_many的意見,這是由許多客戶端寫的。下面是型號協會:Rails:屬於另外兩個模型的新條目
class Product < ActiveRecord::Base
attr_accessible :name, :desc, :price
has_many :opinions
end
class Client < ActiveRecord::Base
attr_accessible :name, :bio
has_many :opinions
end
class Opinion < ActiveRecord::Base
attr_accessible :rate, :comment
belongs_to :client, :product
end
在參數,我有評價邀請ID,這有助於我獲得兩個PRODUCT_ID和CLIENT_ID(所以考慮我有他們兩個)。
表格只包含比率(radio_button,從1到5)和評論(text_field)。
如何方法的意見#創建創建新的意見,這屬於兩種模式:客戶端和產品?
我試圖通過直接CLIENT_ID和PRODUCT_ID,但我得到MassAssignment錯誤:
# Remember: I have product_id and client_id
product = Product.find_by_id product_id
opinion = product.opinions.build params[:opinion]
opinion.product_id = product_id
opinion.client_id = client_id
opinion.save
以防萬一它是有用的:在我的應用程序的第一個版本,認爲只屬於產品,該工程,並使用上面的代碼(刪除opinion.client_id = client_id
線),這就是爲什麼我用product
建設的意見)很好。所以,這只是一個增強。
有什麼想法?提前致謝。
你能發佈錯誤信息嗎? (我知道這是一個大規模的任務)。只需要檢查消息。 – MurifoX