给定以下(大大简化的)对象:
class Player < ActiveRecord::Base
has_many :characters
end
class Character < ActiveRecord::Base
belongs_to :player
delegate :name, :to => :player, :prefix => :player
end
我需要在多个视图中显示玩家名称。但是 Player 可能为零是完全有效的(并且可以预期)。
我目前通过以下方法处理了这个问题:
class Character < ActiveRecord::Base
belongs_to :player
def player_name
player ? player.name : 'Unknown'
end
end
我不喜欢这个有几个原因。有没有更好的方法来做到这一点?