3

私は動的であるこのようなデフォルトのスコープを取得しました:

default_scope :conditions => ["departure_date >= ?", DateTime.current.beginning_of_day]

このコードを使用すると、初日は問題ありません。初日は2011年3月28日だとしましょう

しかし、翌日はまだ使用しているようです"departure_date >= 28-03-2011"

デフォルトのスコープはキャッシュされていますか?

4

1 に答える 1

10

問題は、アプリがロードされたときにコードが1 回だけ実行されるため、実際の日付が変更されないことです。遅延ロードするように変更する必要があります。

default_scope lambda { { :conditions => ["departure_date >= ?", DateTime.current.beginning_of_day] } }

このようにDatetime.current.beginning_of_dayして、クエリを作成するたびに評価されます。

于 2011-03-10T09:14:35.203 に答える