2013-04-08 3 views
1

Куда я здесь не так? Я получаю эту ошибку:ActiveRecord Неизвестно Ошибка атрибута (Sinatra)

unknown attribute: bar_id 

У меня есть эти два класса:

class Foo < ActiveRecord::Base 
    belongs_to :bar 
end 

class Bar < ActiveRecord::Base 
    has_many :bazs 
    has_many :foos 
end 

Я получаю эту ошибку, когда я пытаюсь создать новый FOOS с помощью:

@bar = Bar.find(1) 
@bar.foos.create(:attribute1 => "a", 
        :attribute2 => "b") 

ответ

1

Согласно вашим Например, вы не пытаетесь создать Bars, но вы пытаетесь создать запись Foo, связанную с объектом Bar. Если у вас есть belongs_to ассоциации с Bar из Foo, то Foo должен иметь столбец bar_id для отсчета, Bar определенной Foo записи belongs_to.

+0

Да, я имел в виду новый Foos. Я обновил вопрос соответствующим образом. Я подумал, что иметь 'own_to' и' has_many' в правильных местах позаботится о 'bar_id' для меня в моей таблице« foos ». Я добавил 'bar_id', и он сработал! Спасибо Лео. – sway

Смежные вопросы