【发布时间】:2011-12-18 12:28:54
【问题描述】:
我对 ruby 相当陌生(并且正在使用 Rails),并且想知道是否可以整理以下方法。在目前的状态下,它确实可以工作,但是我觉得有一种更好的编写方式,并且想了解更多关于语法的信息。
def fullAddress
full = self.address1 + "</br>"
if self.address2.blank?
else
full = full + self.address2 + "</br>"
end
if self.address3.blank?
else
full = full + self.address3 + "</br>"
end
full = full + self.posttown + "</br>" + self.postcode
end
每个 'self' 都有 address1、posttown 和 postcode,但 address2 和 address3 是可选的,只有在它们存在时才应添加到 fullAddress 中(即既不是 nil 也不是空白)。
这个问题可能不适合 SO,但我遇到过这种类型的辅助方法,并且确信我可以以更好的方式实现它。
【问题讨论】:
-
如果你只有 else 块的代码,你应该用
if !condition或等效的unless condition否定
标签: ruby-on-rails ruby