在一个模型中,我有这个:
class Game < ActiveRecord::Base
has_one :turn
attr_accessor :turn
attr_accessible :turn
default_scope :include => :turn
def Game.new_game
turn = Turn.create count: 1, phase: 'upkeep', player: 1
game = Game.create turn: turn
game
end
end
class Turn < ActiveRecord::Base
belongs_to :game
end
后来,在控制器中,我有这个:
respond_with Game.find(params[:id])
但是由于某种原因,返回的游戏有一个turn_id
that isnil
并且没有关联的turn
对象。
为什么关联没有正确保存,或者没有正确返回find()
?
在我的迁移中,我认为我已经正确设置了关联:
create_table :games do |t|
t.timestamps
end
def change
create_table :turns do |t|
t.string :phase
t.integer :count
t.references :game
t.timestamps
end
结尾