我有兩個型號:拉嵌套資源的ID集合中對於Rails的編輯形式
class Team < ActiveRecord::Base
belongs_to :scoreboard
end
和
class Scoreboard < ActiveRecord::Base
has_many :teams
end
在顯示頁記分牌,我有呈現出以下內容:
<div class="all-teams">
<%= render @scoreboard.teams %>
</div>
鏈接到團隊目錄中的部分目錄它具有以下功能:
<%= div_for team, :class => "team-list" do %>
<div class= "boxin1"><%= team.name %></div>
<div class= "boxin2"><%= team.win %></div>
<div class= "boxin2"><%= team.loss %></div>
<div class= "boxin2"><%= team.tie %></div>
<span class= "boxin3 btn btn-primary"><%= link_to "Edit", edit_scoreboard_team_path(@scoreboard, team.id) %> </span>
<span class= "boxin3 btn btn-primary">Del</span>
<%end%>
之前,我問我的問題,我會還爲有關行動顯示控制器的數據:
在記分牌控制器的show動作:
def show
@scoreboard = Scoreboard.find_by(params[:id])
@team = @scoreboard.teams.build
end
重要注意事項 此記分板上已有一種表格#show view頁面,它可以創建一個新的團隊對象並調用團隊#new方法和團隊#在團隊控制器中創建方法。這就是爲什麼記分板#show方法中有一個@team變量。
隊中的控制器
def edit
@scoreboard = Scoreboard.find(params[:scoreboard_id])
@team = @scoreboard.teams.find(params[:id])
end
編輯動作現在,這是我的問題。每次爲每個團隊生成一個div時,在該div旁邊都會生成一個編輯按鈕,該按鈕將帶您到包含編輯該特定團隊的表單的編輯視圖。編輯鏈接中的@scoreboard拉動了:scoreboard_id很好,但似乎我們無法爲每個團隊拉動:id以使編輯鏈接起作用。每次,我們嘗試記分牌#顯示我們得到以下錯誤,以訪問視圖:
沒有路由匹配{:動作=>「編輯」,:控制器=>「團隊」,:ID =>零::scoreboard_id =>「7」}缺少必需的鍵:[:id]
我們該如何在div_for中爲每個團隊拉:id?
「team」變量來自哪裏?這是部分的完整代碼嗎? – Pavan