有沒有更好或更有效的方法來做到這一點?有沒有更有效的方法來做到這一點,如果/其他?
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
按照意見:)
你在'今天'之後缺少'to_s'。 –
我想是這樣(我假定這是在導軌):
@date = params[:date].presence || Date.today.to_s
存在方法檢查PARAMS [:日期]不是nil,而不是空的,然後將它返回值,所以它通常比只檢查nil更安全。
由於錫文指出,如果你不是在Rails和你不希望要求active_support,你可以只猴子修補對象類:
class Object
def blank?
respond_to?(:empty?) ? empty? : !self
end
def present?
!blank?
end
def presence
self if present?
end
end
我覺得這三種方法非常有用在日常的Ruby編碼中。
不要以爲Ruby代碼正在使用Rails。你可以假設Rails代碼使用Ruby。 –
好吧,它處理params等等。無論如何,我想你可能需要acive_support所有的含糖方法,如禮物?,空白?在日常編碼中我覺得非常方便。 –
'params'是一個蒼白的提示。它可能意味着周圍的代碼有一個名爲'params'的散列。如果你假設Rails,那麼你應該展示如何挑選所需的主動支持方法。 –
'not'不應該被用於布爾邏輯,只能控制流量;改用'!'代替。 –