我开始在 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
决定玩家在游戏上下文中如何显示的部分?还是有更好的解决方案?