1
我有3个车型,如这个 -如何定义这三种模型之间的关系?
| User | Skill | SubSkills |
|:-----------|------------:|:------------:|
| Name |Title | Title |
| Trade |Trade | Done(bool)|
模型应该注意哪些喜欢 -
class User < ActiveRecord::Base
has_and_belongs_to_many :skills
end
class Skill < ActiveRecord::Base
has_and_belongs_to_many :users
has_many :sub_skills
end
class SubSkills < ActiveRecord::Base
belongs_to :user #not sure
belongs_to :skill
end
基本上技能都一样为同行业的每一位用户和一个用户有很多技巧。每项技能都有许多单项技能,但是针对特定用户完成(或不完成)单项技能。
这可能吗?什么是设计这种关系的更好方法?这条路线将如何定义?像哪些资源将嵌套在哪个资源下?
我需要把'User belongs_to:sub_skill'?我是否需要在subskills表中放置一个用于user_id的外键? – krishna
不,没有。除非你想能够做'user.sub_skills'。 –
如果我在用户中嵌套技能,那么当我创建一个新技能时,我会有'new_skill_path(@user)'这样的东西,所以不会为那个特定用户创建那个技能吗?而我希望该技能属于同一交易的每个用户。但是,如果我在用户之外嵌套技能,那么对于某个特定用户来说,如何标记一个子技能?(因为子技巧嵌套在技能内) – krishna