рельсы отношения один-ко-многим; не может строить дочерние объекты? - PullRequest
2 голосов
/ 25 марта 2012
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 Ответ

2 голосов
/ 25 марта 2012

В таблице boosted_photos должен быть столбец внешнего ключа. Общее правило - мы помещаем belongs_to ассоциацию в модель таблицы, которая имеет внешний ключ, здесь это BoostedPhoto

После этого должно работать следующее,

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