class Photo < ActiveRecord::Base
has_many :boosts, class_name: BoostedPhoto
...
end
class BoostedPhoto < ActiveRecord::Base
belongs_to :photo
end
这是我到目前为止设置的方式,但是当我尝试在控制台中执行此操作时:
photo = Photo.first
photo.boosts.create(title: 'testing')
我得到以下结果
(0.3ms) begin transaction
(0.1ms) rollback transaction
ActiveRecord::UnknownAttributeError: unknown attribute: photo_id
一直在寻找如何做几个小时的人际关系,我想我可能会忽略一些非常简单的事情...对不起新问题,但我开始从沮丧中解脱出来!
答案 0 :(得分:2)
boosted_photos
表中应该有一个外键列。一般规则是我们将belongs_to
关联放在具有外键的表模型中,这里是BoostedPhoto
之后应该有效,
photo = Photo.first
photo.boosts.create(title: 'testing')