铁轨关系一对多;无法构建子对象?

时间:2012-03-25 11:32:27

标签: ruby-on-rails foreign-key-relationship table-relationships

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

一直在寻找如何做几个小时的人际关系,我想我可能会忽略一些非常简单的事情...对不起新问题,但我开始从沮丧中解脱出来!

1 个答案:

答案 0 :(得分:2)

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

之后应该有效,

photo = Photo.first
photo.boosts.create(title: 'testing')