【发布时间】:2011-06-17 18:39:40
【问题描述】:
我正在尝试实施这个项目:
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 - 关系,那是我唯一需要写入模型的内容吗?
a)class Position < ActiveRecord :: Base (...) has_and_belongs_to_many :skills (...)
b)class Skill < ActiveRecord :: Base (...) has_and_belongs_to_many :positions (...)
c) 进入 db\migrate def self.up create_table :positon_skill, :id => false do |t| (...)
在那之后,职位和技能是相互联系的?是对的吗?我是不是忘记了什么?
- 如果是这样,我怎样才能让技能在员工的显示页面上查看?一个员工有1个职位,这个职位有几个技能......我需要在员工的show.html.erb中写入什么代码?像
<%= employee.position.skill %>这样的东西?我还需要渲染一些东西吗?对不起,我很困惑,我认为我在网络上阅读了太多信息......或者网络上是否有任何描述准确描述了我需要什么?
提前非常感谢,对于这个多余的问题,我们深表歉意。
【问题讨论】:
标签: ruby-on-rails view relationships