我有两个模型:
class Game
before_save :update_teacher
teacher
end
def update_teacher
teacher.update_attribute("something", true)
end
end
class Puzzle < Game
belongs_to :teacher
end
我有很多类型的游戏。当任何游戏完成时,我想更新_teacher。
但正如你所见,Game 不属于任何人。它只是我为所有游戏保存所有全局方法的地方。我永远不需要查询Teacher.games
。相反,我只需要查询Teacher.puzzles
,或Teacher.riddles
等等。
正因为如此,当我来到before_save
方法时,我尝试调用teacher
,它会失败,因为与 .teacher
没有关联game
。
那么我怎样才能让我的全局 Game 类处理这个方法并且仍然引用它的子关联呢?
还..
我刚刚意识到这个 before_save 可能实际上不会被调用,因为它不是更新的游戏模型(或者它是?)。如果不是......同样的问题,我如何正确地全球化这个继承的方法?
或者..
我承认我的协会可能存在架构缺陷。有人会建议我创建两个关联,甚至直接从一个. 不知道什么会更好或更坏。Game
game_type