我正在创建一个浏览器RPG文本游戏,用户将拥有一个英雄。这个英雄将有一个可供选择的路径。它会像RPG类(向导,战士等)一样工作(我不得不将名称更改为PAth,因为无法使用类)。
我的模型现在设置如下:
class Hero < ActiveRecord::Base
belongs_to :user
belongs_to :race
belongs_to :path
end
和路径:
class Path < ActiveRecord::Base
has_many :heros //Need to fix this to Heroes
end
直到这里,一切正常。但我希望英雄可以拥有基于英雄之路的技能。
路径会有很多技能,因为英雄在路径上,他可以通过路径类获得这些技能......但是因为他属于班级,我有点困惑。
例如......战士PAth将拥有Bash技能。如果英雄来自战士之路,他也可以拥有这项技能。但是这些技能会有自己的用户相关属性...因为用户可以拥有1级的Bash技能,而另一个coiuld拥有LVL 2 ...
所以我想了解在这种情况下我能采用的最佳方法是什么?
谢谢!
答案 0 :(得分:0)
它完全按照你的描述工作:
通过创建
创建另一个连接到Path的类Skillhas_many: skills
在您的路径模型中,您现在可以通过您的路径访问技能:
class Hero < ActiveRecord::Base
belongs_to :user
belongs_to :race
belongs_to :path
has_many :skills through: :path
end
您访问它们的方式是写一些类似
的内容@hero.skills