Rails - 一个视图中的许多关联

时间:2011-06-19 16:48:02

标签: ruby-on-rails-3 view associations

感谢stackoverflow用户,stackoverflow帮助我完成了我的项目。现在我面临一个新问题。

我已经实施了这个项目http://img7.imagebanana.com/img/cnb46ti2/relationships.png(请参阅Rails - data view from has_many and Has_many_and_belongs_to_many)。为了连接职位和技能,我建立了一个has_and_belongs_to_many关系,因为每个职位都有很多技能,每个技能都有很多职位,对于这个表我不想添加一些列。表'positions_skills'将两者放在一起。

现在我要添加2个新表。

  1. current_qualification http://img7.imagebanana.com/img/bimfgvut/UebersichtQualifikationenbistqualifi.png
  2. expected_qualification http://img7.imagebanana.com/img/72p0yj27/UebersichtQualifikationencsollqualif.png
  3. 如果不清楚具有资格明星的这些表格做什么:某个职位的每个技能都有自己的资格等级(例如,对于职位1,你需要掌握技能1很多(5星),但对于位置2,你不需要那么多关于这个技能的知识(2星级))。 - > expected_qualification。每个员工在每项技能方面都有不同的优势 - > current_qualification

    问题1:表'expected_qualification'与表'positions_skills'类似。我是否正确,如果我添加表'expected_qualification',则不再需要'position_skills'了?我只是使用'position_skills'来连接这个n:m关系,以便在show.html.erb上查看员工的技能,但如果我理解的话,也可以使用'has_many:through'关联。

    问题2:在员工的show.html.erb视图中查看这些小星星时,这两个表都是必需的。 (正如你在我的照片上看到的那样。但是现在我对数字而不是Stars => 4星= 4作为整数列感到满意)。我做了什么?

    1. 我用rails generate scaffold current_qualification employee_id:integer skill_id:integer qualificationstars:integer

    2. 创建了表格'current_qualification'
    3. 我在has_many的模型中添加了代码:通过关联

    4. 我在表格中填写了current_qualification

    5. 现在是棘手的部分:员工控制员!因为我已经有一个has_and_belongs_to_many关联,所以控制器看起来像这样:def show @employee = Employee.find(params[:id], :include => { :position => :skills }) end ...。如何将has_many:through关系中的:include => { :employee => { :current_qualifications => :skills} }添加到现有代码中?哪个代码允许我从employee_ showb的current_qualification表中输出qualifiedstars-column?

    6. 提前致谢!抱歉这么多问题。

0 个答案:

没有答案