我正在使用def to_s将用户的数字值更改为字符串。RoR:def to_s用于两个名称/标签
用户拥有名字和姓氏,虽然 - f_name和s_name。
在我的模型:
def to_s
f_name
end
工作正常。但我怎么能得到姓氏旁边? THX
我正在使用def to_s将用户的数字值更改为字符串。RoR:def to_s用于两个名称/标签
用户拥有名字和姓氏,虽然 - f_name和s_name。
在我的模型:
def to_s
f_name
end
工作正常。但我怎么能得到姓氏旁边? THX
如果有可能,你只有一个名字或姓氏,然后再考虑:
def full_name
[first_name, last_name].compact.join(' ')
end
def to_s
full_name
end
无论您使用的技术,我建议你创建一个方法来表示全名,然后在to_s方法中引用它。
可以使用插值:
我更喜欢使用字符串插值的版本,因为当'f_name'为'nil'时,使用'+'连接字符串的版本会失败。 – spickermann
@spickermann对我来说,字符串插值总是看起来更好,所以+1 –
最简单的版本是只返回一个字符串串联两个名称部分:
def to_s
"#{f_name} #{s_name}"
end
在Ruby中,在方法的最后一个值是暗示返回值。有更明确的方法来完成此操作,以及其他方式来连接字符串。你可以这样做,以及:
def to_s
return f_name + ' ' + s_name
end
谢谢!两种方法都有效。非常感谢:)不能打勾几分钟! – Co2
无需“返回”.. –
用户是否总是有名字和姓氏? – Stefan