-1

これを行うためのより良い、またはより効率的な方法はありますか?

if not params[:date]
   @date = Date.today.to_s
else
  @date = params[:date]     
end
4

2 に答える 2

8
@date = params[:date] || Date.today

Date.todayそして、文字列を作成したい場合はDate.today.to_s、コメントに従ってください:)

于 2013-06-23T17:28:16.693 に答える
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

これら 3 つの方法は、日々の Ruby コーディングで非常に役立つと思います。

于 2013-06-23T17:26:46.987 に答える