Я работал над своим приложением Rails, и у меня застряли некоторые ассоциации, которые я не могу понять.
Вот мои модели:
Модель пользователя
class User < ActiveRecord::Base
has_many :events, :dependent => :destroy
end
Модель события
class Event < ActiveRecord::Base
belongs_to :user
has_many :items, :dependent => :destroy
end
Модель предмета
class Item < ActiveRecord::Base
belongs_to :event
end
Когда я направляюсь в консоль рельсов и делаю что-то вроде этого:
> User.last.events.last.items
Я получаю ошибку, подобную этой:
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: items.event_id: SELECT "items".* FROM "items" WHERE ("items".event_id = 1)
Я настроил свои миграции следующим образом:
class CreateItems < ActiveRecord::Migration
def self.up
create_table :items do |t|
t.string :description
t.string :name
t.integer :event_id
t.timestamps
end
add_index :items, :event_id
end
def self.down
drop_table :items
end
end
Это как-то связано с моими ассоциациями и тем, как я это изложил?Или глубина ассоциаций?
Я надеюсь, что предоставил достаточно информации.
Спасибо всем!