0

私は2つのモデルを持っています

class LunchSet < ActiveRecord::Base
  has_many :sides
end

class Side < ActiveRecord::Base
  attr_accessible :set_id

  belongs_to :lunch_set, foreign_key: :set_id

end

しかし、それでも、id = 1 でオブジェクトの新しい LunchSet 'l' を作成し、set_id = 1 で新しい Side 's' を作成すると、l.sides と入力すると、次のような sql エラーが表示されます。

SQLite3::SQLException: no such column: sides.lunch_set_id: SELECT "sides".* FROM "sides"  WHERE "sides"."lunch_set_id" = 52

ご覧のとおり、私が望むように「set_id」ではなく「lunch_set_id」列をまだ探しています...

4

1 に答える 1

1

LunchSet モデルで外部キーを定義する必要があります

class LunchSet < ActiveRecord::Base
  has_many :sides, :class_name => 'Side', :foreign_key => 'set_id'
end

class Side < ActiveRecord::Base
  attr_accessible :set_id

  belongs_to :lunch_set, :class_name => 'LunchSet', :foreign_key => 'set_id'

end
于 2013-07-06T20:00:09.777 に答える