我开始学习RoR并且已经做了一系列的教程,但是在一个视图中有一系列控制器遇到了绊脚石。例如。我有一个用户控制器和一个技能控制器。使用belongs_to和has_many技能等技能与用户相关联。我在用户视图的索引上,无法确定如何将与用户关联的技能放入该视图中。
我看到它的方式是我需要创建一个基于值调用数据库的方法。如何在视图中调用此方法?对不起,如果这对某些人来说似乎很明显,但我只是想掌握它,任何帮助都会非常感激。
答案 0 :(得分:1)
当我在使用rails应用时,我倾向于一个控制器来很多视图,而不是相反。
我认为你想要的是控制器中指向同一视图的两种方法。要实现此目的,请在与视图命名不同的方法中,调用render "view"
。或者,如果两个方法都与目标视图具有不同的名称,则在两个方法中调用渲染“view”。
答案 1 :(得分: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 %>
现在您的索引页面上显示了用户和技能。
答案 2 :(得分:0)
您似乎在用户控制器中添加了非REST资源。
你应该做的是为模型组合创建一个控制器,例如仪表板控制器,诀窍是找到一个有意义的名称。在您的情况下,您可能必须创建UserSkill控制器。
这样您就可以保留5个REST动作。