【发布时间】:2011-01-27 14:03:03
【问题描述】:
我经常需要检查某个值是否为空白,然后像这样写下“没有数据存在”:
@user.address.blank? ? "We don't know user's address" : @user.address
当我们有大约 20 到 30 个需要以这种方式处理的字段时,它就变得丑陋了。
我所做的是带有or 方法的扩展String 类
class String
def or(what)
self.strip.blank? ? what : self
end
end
@user.address.or("We don't know user's address")
现在看起来好多了。但它仍然是原始和粗糙的
如何更好地解决我的问题。也许扩展ActiveSupport class 或使用辅助方法或mixins 或其他任何东西会更好。 Ruby 的理念、您的经验和最佳实践可以告诉我什么。
【问题讨论】:
标签: ruby-on-rails ruby