2011-11-30 86 views
2

我开始学习RoR,并且已经在做一系列教程,但在一个视图中遇到了一系列控制器的绊脚石。例如。我有一个用户控制器和一个技能控制器。技能与使用belongs_to和has_many技能等的用户相关联。我处于用户视图的索引,并且无法确定如何将与用户关联的技能放入该视图。在一个视图中的多控制器Ruby on Rails

我看到它的方式是我需要创建一个基于值调用数据库的方法。我如何在视图内调用这个方法?对不起,如果这对某些人来说似乎很明显,但我只是要抓住它,任何帮助将不胜感激。

回答

0

它似乎是你在用户控制器中添加非REST资源。

你应该做的是为模型组合创建一个控制器,例如仪表板控制器,诀窍是找到一个合理的名称。在你的情况下,你可能需要创建一个UserSkill控制器。

这样您将保留5个REST操作。

1

当我在做Rails应用,我倾向于有一个控制器许多的意见,而不是相反。

我想你想要的是在你的控制器中指向相同视图的两种方法。要实现这一点,在与您的视图命名不同的方法中,请致电render "view"。或者,如果两个方法在目标视图中都有不同的名称,请在它们中调用渲染“视图”。

1
<% @users.each do |user| %> 
    <h2><%= user.name %> </h2> 
    <h3>Skills</h3> 
    <ul> 
     <% user.skills.each do |skill| %> 
      <li> <%= skill.name %> </li> 
     <% end %> 
    </ul> 
<% end %> 

现在,您的用户和技能正在显示在您的索引页面。

+0

不幸的是它失败了。可能我没有解释我在开发什么。我生成了一个叫做用户的脚手架,它具有所有的用户详细信息和技能,是一个包含user_id的脚手架。如果可能的话,每个人都有他们自己的观点,但是心态很好 – Damien

相关问题