我刚添加了一个新模型Intent
,以保存有关想要购买我们产品和服务的用户的信息。
所以我在此表中intent
保存了Product
,Service
和User
的ID。
我创建了一个迁移来引用Intent中的外键,然后添加了以下关联
belongs_to :user
has_one :product
has_one :service
我希望Rails在Intent中搜索product_id
和service_id
,但相反的情况正在发生:
Mysql2 ::错误:未知栏' products.intent_id'在' where子句': ...
我该如何解决?我选择了错误的关联类型吗?
答案 0 :(得分:2)
听起来你需要:
belongs_to :user
belongs_to :product
belongs_to :service
然后has_many :intents
中的user.rb
和has_one :intent
以及product.rb
中的service.rb
。{/ p>
我记得has_one
的方式是它取代has_many
,因此您可以将它放在通常放置has_many
的任何位置。