Проблема с ассоциациями в Rails - PullRequest
0 голосов
/ 08 февраля 2011

Я работал над своим приложением 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

Это как-то связано с моими ассоциациями и тем, как я это изложил?Или глубина ассоциаций?

Я надеюсь, что предоставил достаточно информации.

Спасибо всем!

1 Ответ

0 голосов
/ 08 февраля 2011

Я бы посоветовал вам дважды проверить, что вы запустили миграцию (rake db: migrate).

Это не должно иметь значения, но вы можете вместо этого попробовать "t.references: event""t.integer: event_id".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...