2016-09-15 10 views
2

RubyコースのRailsを開始しています。私は以下の関係を持っています:エイリアンは惑星に属し、惑星は多くのエイリアンを持つことができます。関連付け後にデータを挿入することはできません - Rails on Ruby

マイplanet.rb:

class Planet < ActiveRecord::Base 
    has_many :aliens 
end 

マイalien.rb:

class Alien < ActiveRecord::Base 
    belongs_to :planet 
end 

私は挿入するように言われた

ので
Planet Load (0.2ms) SELECT "planets".* FROM "planets" 
=> #<Enumerator: #<ActiveRecord::Relation [#<Planet id: 1, nome: "planeta loko", created_at: "2016-09-15 19:49:28", updated_at: "2016-09-15 19:49:28">, #<Planet id: 2, nome: "planeta2", created_at: "2016-09-15 19:49:49", updated_at: "2016-09-15 19:49:49">] 

に見られるように、私が挿入された2つの惑星を持っています外国人のためのデータはそうです:

それはしかし動作しない210

、私はこのエラーを取得:

a = Alien.create(nome: "x", age: "1", planet: p) 
ActiveModel::MissingAttributeError: can't write unknown attribute `planet_id` 

これを引き起こしているものの任意のアイデアを?
また、英語が私の母国語ではないため、文法上の誤りについては事前にお詫び申し上げます。ヘルプをよろしくお願いいたします。

+0

planet_idフィールドがテーブルエイリアンにありますか? –

答えて

0

planet_id列を追加するのを忘れたようです。 db/schema.rbまたはデータベースを確認してください。外国人を惑星と関連付けるためには、この外部キーが必要です。

0

マイグレーションを共有してください。惑星の外人のために外来キーを追加しなかったようです。

関連する問題