Ruby和Rails的新手。簡單的輔助方法 - 我做對了嗎?
我開發,你可以註冊球隊,球員等簡單的應用程序,它看起來像這樣:
隊的has_many玩家 玩家belongs_to的團隊
當我要顯示在畫面中玩家(普通用戶):
<%= @player.name %> - <%= playerteam %>
,並在管理視圖,它看起來像這樣:
<% @players.each do |player| %>
<tr>
<td><%= player.id %></td>
<td><%= player.name %></td>
<td><%= playerteam(player) %></td>
<td><%= owner(player) %></td>
</tr>
<% end %>
和輔助方法:
def playerteam(player = nil)
if player != nil
if player.team_id == nil
return "No team"
else
@team = Team.find(player.team_id)
return @team.name
end
else
if @player.team_id == nil
return "No team"
else
@team = Team.find(@player.team_id)
return @team.name
end
end
end
它的工作原理,但它不是漂亮或「紅寶石性感」
起初,人們只能從普通視圖中使用,但後來當我想用它admin-view也是我必須添加一個默認值和額外的if子句的參數。
有沒有更好的方法?
是的,這就像一個魅力,非常性感。 :)我唯一需要改變的地方是<%= player.team_name%>到<%= @ player.team_name%>現在我必須對我的其他幫助器方法也這樣做。 – 2010-10-08 10:49:50
很高興,我可以,並且我更正了我的代碼。 – jigfox 2010-10-11 07:53:53