作業しているネストされた属性にいくつかのモデルがあります。
私には「チーム」(多くのコンテストがあります)と「コンテスト」(チームに所属)があります。ただし、コンテストで「カテゴリ」を子オブジェクトとして参照することも必要です(コンテストには1つのカテゴリしか含めることができず、カテゴリには5つのコンテストを含めることができます)。
ロジックの仕組みは、最初にチームを作成し、次にコンテストを作成し、その後、カテゴリのリストから(部分的に)選択して関連付けを確立できるようにすることです(コンテストのcategory_idをidに設定します)カテゴリ内の値)。チームの子として新しいコンテストを作成するときにこれがどのように行われるかは私には理にかなっていますが、2番目の関係(既存の親カテゴリに対する既存のコンテスト)の作成に関しては、壁にぶつかっています。
コンテストのショービューを表示するコントローラーは次のとおりです。
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
終わり
ショービューでは、次のコードがあります。
<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の基本的なことを理解していないことは間違いないので、誰かが私の困惑を解消する可能性のあるドキュメントを教えてくれれば、とても感謝しています。