def name
@name || "#{self.first_name} #{self.last_name}"
end
如果名字和姓氏都是空名,则为空格“”。如何重写右侧,因此它是一个空字符串“”而不是空格“”?
答案 0 :(得分:7)
您最后可以添加.strip
:
>> ln = 'last' #=> "last"
>> fn = 'first' #=> "first"
>> "#{fn} #{ln}".strip #=> "first last"
>> fn = nil #=> nil
>> ln = nil #=> nil
>> "#{fn} #{ln}".strip #=> ""
答案 1 :(得分:6)
def name
@name ||= [first_name, last_name].compact * " "
end
此解决方案的优点是,如果名称为nil
,和,则在一般情况下(即任意数量的字符串)都不包括尾随或前导空格。< / p>