有更好或更有效的方法吗?
if not params[:date]
@date = Date.today.to_s
else
@date = params[:date]
end
答案 0 :(得分:8)
@date = params[:date] || Date.today
如果你想让Date.today
成为一个字符串,那么按照评论Date.today.to_s
进行操作:)
答案 1 :(得分:0)
我会这样(我假设这是在Rails中):
@date = params[:date].presence || Date.today.to_s
存在方法检查params [:date]是不是nil而不是空,然后它返回值,所以它通常比检查nil更安全。
正如The Tin Man所指出的,如果你不在Rails中并且你不想要求active_support,你可以修改Object类:
class Object
def blank?
respond_to?(:empty?) ? empty? : !self
end
def present?
!blank?
end
def presence
self if present?
end
end
我发现这三种方法在日常Ruby编码中非常有用。