0
在模型中定义一个方法的最佳方式是什么?该方法包含的列可以为nil,但用逗号或连字符分隔,如果不是nil?例如,一个城市和州将需要用逗号跟随的位置。这种方法显然只有在城市,州和国家都需要的情况下才有效。否则,我留下不需要的逗号。例如,用户可能只列出一个州或可能只有一个城市和国家。Rails模型中的条件逗号
用户模型
def location
"#{city}, #{state}, #{country}"
end
我是尽量避免类似于我下面把一些真正丑陋的代码。有谁知道写一个更清洁或更漂亮的方式吗?
这是我想要避免的一个丑陋的坏方法。基本上,明确写出每种可能性。
def location
if !city.blank? && state.blank? && country.blank?
"#{city}, #{state}, #{country}"
end
end
如果你只是想摆脱'nil'值,而不是尼尔斯,空字符串,空数组,......,你可以也使用'[city,state,country] .compact.join(“,”)' – 2012-01-09 23:42:54