2
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

几个小时以来一直在寻找如何建立关系,我想我可能忽略了一些非常简单的事情......对不起新手问题,但我开始从沮丧中拔出头发!

4

1 回答 1

2

表中应该有一个外键列boosted_photos。一般规则是我们将belongs_to关联放在具有外键的表模型中,这里是BoostedPhoto

之后应该工作,

photo = Photo.first
photo.boosts.create(title: 'testing')
于 2012-03-25T12:42:09.530 回答