1

Time.nowと比較している有効期限の日時フィールドを持つモデルが見つかりました。

今、私のクライアントは、モデルが有効期限の真夜中までビューに保持されることを望んでいます。

したがって、私がする必要があるのは、検索の一部としてフィールドでend_of_dayメソッドを呼び出すことができることだと思います。

のようなもの…</p>

Model.where('expiration.end_of_day <?'、Time.now)

それは確かに機能しません、そして多分私はこれについてすべて間違っているだけです。

これは、Postgresを使用したRails 3.2にあります(9.1だと思います。Herokuにあります)。

4

2 に答える 2

2

あなたのexpiration列は日付ではなくタイムスタンプであると想定しています。これが問題の原因です。次のようなものがうまくいくと思います:

Model.where('expiration > ?', Time.now.beginning_of_day)  # All records which expire today or later
于 2012-06-01T14:15:46.870 に答える
0

純粋な postgresql では、次のようになります。

expiration < current_date + 1

select current_date;
    date    
------------
 2012-06-01
(1 row)

select '2012-06-01 23:59:59' < current_date + 1;
 ?column? 
----------
 t
(1 row)
于 2012-06-01T13:37:28.713 に答える