Rails - 这是使用多态关系的正确方法吗?

时间:2017-01-16 07:42:57

标签: ruby-on-rails ruby-on-rails-4 inheritance has-many polymorphic-associations

这里是Rails的新手。

目前,我正试图以某种方式使用rails进行“决策游戏”,Game正在通过做出一些决定并点击下一轮并获得一些结果来进行游戏。我已经做到了。

但是,我正在尝试为此游戏添加迷你游戏模式,因此我希望为玩家提供Routine GameMini Game。这两种模式的不同之处在于Routine Game将具有轮数和不同的任务,其中Mini Game模式将只有一轮和一个任务要实现。而且,玩家只有一个Routine Game,但很多Mini Game

所以我认为应该以某种方式继承设置。在线阅读了一些文档和教程之后,我发现了rails中的“神奇”多态关联。我正在考虑通过以下设置(简化)来实现它,但觉得多态对我来说没有意义。我是否以正确的条件和正确的方式使用多态?

class Game
    belongs_to :mode, polymorphic: true
end

class RoutineGame
    has_one :game, as: :mode
    belongs_to :user
end

class MiniGame
    has_one :game, as: :mode
    belongs_to :user
end

class User
    has_one :routine_game
    has_many :mini_games
end

感谢阅读和欣赏任何想法。

0 个答案:

没有答案