Я бы вообще не использовал вспомогательный метод.Вспомогательные методы не должны использоваться для получения данных модели.Вот для чего эта модель.
Вы можете сделать что-то вроде этого:
обычные пользователи:
<%= @player.name %> - <%= player.team ? player.team.name : 'No Team' %>
admin:
<% @players.each do |player| %>
<tr>
<td><%= player.id %></td>
<td><%= player.name %></td>
<td><%= player.team ? player.team.name : 'No Team' %></td>
<td><%= owner(player) %></td>
</tr>
<% end %>
Вывозможно, можно сделать что-то подобное с owner
-helper
, чтобы избежать синтаксиса ? :
-if-else при каждом просмотре, который вы можете добавить в модель своего игрока
class Player < ActiveRecord::Base
def team_name
team ? team.name : "No Team"
end
end
ТогдаВаши взгляды выглядят так:
обычные пользователи:
<%= @player.name %> - <%= @player.team_name %>
admin:
<% @players.each do |player| %>
<tr>
<td><%= player.id %></td>
<td><%= player.name %></td>
<td><%= player.team_name %></td>
<td><%= owner(player) %></td>
</tr>
<% end %>
ИМХО: это будет гораздо больше "Rails Sexy"; -)