有没有更好或更有效的方法来做到这一点?
if not params[:date]
@date = Date.today.to_s
else
@date = params[:date]
end
有没有更好或更有效的方法来做到这一点?
if not params[:date]
@date = Date.today.to_s
else
@date = params[:date]
end
@date = params[:date] || Date.today
如果您想创建Date.today
一个字符串,请Date.today.to_s
按照评论进行操作:)
我会这样(我假设这是在 Rails 中):
@date = params[:date].presence || Date.today.to_s
Presence 方法检查 params[:date] 是否不为零且不为空,然后返回值,因此它通常比仅检查 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 编码中非常有用。