2011-11-30 85 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

相關問題