我有幾個與我一起工作的嵌套屬性模型。將預先存在的記錄與預先存在的父項關聯(2個父對象)
我有「團隊」(有很多constests)和「比賽」(屬於團隊)。但我也希望比賽將「類別」引用爲子對象(比賽只能有一個類別,而一個類別可能有比賽)。
邏輯的工作方式是首先創建一個團隊,然後是比賽,之後我希望能夠從部分列表中選擇(部分)並建立關聯(將category_id設置爲比賽中的id值)。當我創建一個新的比賽作爲一個團隊的孩子時,這是如何做到這一點是有道理的,但是當談到創建第二個關係(現有比賽對現有的父類別)時,我再次碰壁。
,讓我展示視圖比賽控制器是:
def show
@team = Team.find(params[:team_id])
@contest = Contest.find(params[:id])
@categories = Category.all
respond_to do |format|
format.html # show.html.erb
format.json { render json: [@contest] }
end
末
在Show View我有這樣的代碼:
<p><b>Name:</b><%= @contest.name %></p>
<%= link_to 'Edit', edit_team_contest_path(@team, @contest) %> |
<%= link_to 'Back', team_contests_path %>
<br />
<%= render 'categories/index'%>
而我偏_index爲類別包含此代碼:
<table>
<% @categories.each do |category| %>
<tr>
<td><%= category.level1 %></td>
<td><%= category.level2 %></td>
<td><%= category.level3 %></td>
<td><%= category.level4 %></td>
<td><%= link_to 'Show', category %></td>
<td><%= link_to 'Edit', edit_category_path(category) %></td>
<td><%= link_to 'Destroy', category, confirm: 'Are you sure?', method: :delete %></td>
<%end%>
</table>
我在哪裏放置代碼(在比賽或類別控制器中?)用於設置類別比賽親子關係以及哪個視圖(比賽節目視圖或類別_索引部分? )。我非常肯定,在這裏我不瞭解Rails的基本知識,所以如果任何人都可以指出我可以清除我的錯誤的文檔,我會非常感激。
好的,如果有人發現這個問題,這是我最終如何解決它。 –