我正在尝试实施这个项目:
http://img7.imagebanana.com/img/cnb46ti2/relationships.png
- 我想让在员工的显示页面上查看员工的技能
- 一个员工有一个职位,每个职位都有这个职位的员工需要知道的技能
- 因此,如果我理解正确,职位和技能具有 n:m 关系,并且他们需要一个连接表来建立 has_many_and_belongs_to_many 关系。因为一个职位包含很多技能,每个技能都属于很多职位。
现在我的问题
- position_skill-table -> 使用 has_and_belongs_to_many 关系更好,所以这个表没有自己的 id 还是使用 has_many :through 关系更好?我想最好使用 has_and_belongs_to_many 关系,因为这个关系表里面除了两个键之外没有任何进一步的信息。我对吗?
- 如果我采用 has_and_belongs_to_many - 关系,那是我唯一需要写入模型的东西吗?
一种)class Position < ActiveRecord :: Base (...) has_and_belongs_to_many :skills (...)
b)class Skill < ActiveRecord :: Base (...) has_and_belongs_to_many :positions (...)
c) 进入 db\migratedef self.up create_table :positon_skill, :id => false do |t| (...)
之后,职位和技能是相互关联的吗?是对的吗?我是不是忘记了什么?
- 如果是这样,我怎样才能在员工的显示页面上查看技能?一个员工有1个职位,这个职位有几个技能......我需要在员工的show.html.erb中写入什么代码?像
<%= employee.position.skill %>
什么?我还需要渲染一些东西吗?对不起,我很困惑,我认为我在网上阅读了太多信息......或者网上有什么描述可以准确描述我需要什么?
提前非常感谢,很抱歉这个多余的问题。