私はRailsアプリの開発を始めており、間違った方向に進む前に、これを行うための一般的な方法(つまり、ベストプラクティス)があるかどうかを確認したいと思います。私はモデルを持っておりGame
、Player
関係has_many :through
を持っています。そして、私はアイテムを表示するためにこれらのパーシャルを持っています:
views/games/_game.html.erb
<%= content_tag_for :li, game do %>
<span class="name"><%= game.name %></span>
<% if game.players.any? %>
<ul class="player_list">
<%= render :partial => 'players/player', :collection => game.players %>
</ul>
<% end %>
<% end %>
views/players/_player.html.erb
<%= content_tag_for(:li, player) do %>
<span class="name"><%= player.name %></span>
<span class="delete">
<%= link_to "delete", player, :method => :delete, :class => :delete %>
<span>
<% end %>
問題は、プレイヤーが異なるコンテキストで異なる方法で表示することを望んでいることです。たとえば、プレーヤーは、プレーヤーインデックスのように、ゲームショーページから「削除可能」であってはなりません。views/games/_player.html.erb
ゲームのコンテキストでプレーヤーがどのように表示されるかを決定するような別のパーシャルを作成することは許容されますか?または、より良い解決策はありますか?