我有三个模型,游戏,团队和玩家。玩家属于团队,团队属于游戏。游戏和玩家之间没有直接关系。播放器具有如下方法:
def game
@game || team.game
end
Game的枚举字段名称为“ field”。
class Game < ApplicationRecord
enum field: { nothing: 0, metal: 1, tree: 2, water: 3, fire: 4, earth: 5 }
玩家有一个方法召唤,它应该改变游戏的领域:
def summon( value )
game.field = value.to_sym
game.save!
save!
end
我检查了byebug。游戏的“字段”是分配后的值。但是“领域”在保存之后变成零!发生了什么?我在Player中的游戏方法会在某个地方重新加载@game吗?