私はRailsアプリケーションに取り組んできましたが、頭を抱えることのできない関連付けに悩まされています。ここで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
私の団体や私がそれを敷設した方法と関係がありますか? または関連の深さですか?
十分な情報を提供していただければ幸いです。
ありがとうございました!
実際にデータベースに列が存在することを確認しましたか? – meagar
はい、列はテーブルに存在します。 –