0

我想创建一个新 Player 并且 match_id 填充了对类方法的调用:当我运行此代码时, match_id 获得了一个 nil 值,而 Game 在那里并且它返回一个正确的 Game 对象。我在这里做错了什么?

Player.create(game_id: Game.default_game)

“default_game”类方法如下所示:

  def self.default_game
    Game.where(name: "Poker").first
  end
4

2 回答 2

1

如果您的 ActiveRecord 模型关联设置正确,您可以执行以下操作:

Player.create(game: Game.default_game)

或者,您可以更直接地设置 id:

Player.create(game_id: Game.default_game.id)
于 2013-06-19T18:10:17.963 回答
0

game_id 的数据类型是否与 default_game 的数据类型相同?在某些语言中,NIL 不是崩溃,而是返回值。

于 2013-06-19T18:07:37.807 回答