сохранение модели после обновления поля enum не удачно - PullRequest
0 голосов
/ 01 декабря 2019

У меня есть три модели: Игра, Команда и Игрок. Игрок принадлежит команде, а команда принадлежит игре. Нет прямой связи между игрой и игроком. У игрока есть метод, такой как:

  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 }

У игрока есть метод summon, он должен изменить поле игры:

  def summon( value )
    game.field = value.to_sym
    game.save!
    save!
  end

Я проверил byebug. «Поле» игры - это значение после присвоения. Но «поле» становится нулевым после сохранения! Что произошло? Мой игровой метод внутри Player куда-нибудь перезагрузит @game?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...