我開始學習RoR,並且已經在做一系列教程,但在一個視圖中遇到了一系列控制器的絆腳石。例如。我有一個用戶控制器和一個技能控制器。技能與使用belongs_to和has_many技能等的用戶相關聯。我處於用戶視圖的索引,並且無法確定如何將與用戶關聯的技能放入該視圖。在一個視圖中的多控制器Ruby on Rails
我看到它的方式是我需要創建一個基於值調用數據庫的方法。我如何在視圖內調用這個方法?對不起,如果這對某些人來說似乎很明顯,但我只是要抓住它,任何幫助將不勝感激。
我開始學習RoR,並且已經在做一系列教程,但在一個視圖中遇到了一系列控制器的絆腳石。例如。我有一個用戶控制器和一個技能控制器。技能與使用belongs_to和has_many技能等的用戶相關聯。我處於用戶視圖的索引,並且無法確定如何將與用戶關聯的技能放入該視圖。在一個視圖中的多控制器Ruby on Rails
我看到它的方式是我需要創建一個基於值調用數據庫的方法。我如何在視圖內調用這個方法?對不起,如果這對某些人來說似乎很明顯,但我只是要抓住它,任何幫助將不勝感激。
它似乎是你在用戶控制器中添加非REST資源。
你應該做的是爲模型組合創建一個控制器,例如儀表板控制器,訣竅是找到一個合理的名稱。在你的情況下,你可能需要創建一個UserSkill控制器。
這樣您將保留5個REST操作。
當我在做Rails應用,我傾向於有一個控制器到許多的意見,而不是相反。
我想你想要的是在你的控制器中指向相同視圖的兩種方法。要實現這一點,在與您的視圖命名不同的方法中,請致電render "view"
。或者,如果兩個方法在目標視圖中都有不同的名稱,請在它們中調用渲染「視圖」。
<% @users.each do |user| %>
<h2><%= user.name %> </h2>
<h3>Skills</h3>
<ul>
<% user.skills.each do |skill| %>
<li> <%= skill.name %> </li>
<% end %>
</ul>
<% end %>
現在,您的用戶和技能正在顯示在您的索引頁面。
不幸的是它失敗了。可能我沒有解釋我在開發什麼。我生成了一個叫做用戶的腳手架,它具有所有的用戶詳細信息和技能,是一個包含user_id的腳手架。如果可能的話,每個人都有他們自己的觀點,但是心態很好 – Damien