2012-01-05 4 views
0

でなければならず、それは奇妙なエラーを与え続け: キーは、文字列や記号ルビー - Mongoidは - 日付範囲、エラーを照会することはできません。キーは次のクエリが動作しない文字列や記号

Session.where(:created_at.gte => (Date.today - 30), :created_at.lte => (Date.today).first 
でなければなりません私はそれを点検するときここ

は、クエリの内容です:

:::::::::::::::::: # selector: {#=>Wed, 04 Jan 2012, #=>Thu, 05 Jan 2012}, 
options: {}, 
class: Session, 
embedded: false> 
:::::::::::::::::: # selector: {#=>Wed, 04 Jan 2012, #=>Thu, 05 Jan 2012}, 
options: {}, 
class: Session, 
embedded: false> 
:::::::::::::::::: # selector: {#=>Wed, 04 Jan 2012, #=>Thu, 05 Jan 2012}, 
options: {}, 
class: Session, 
embedded: false> 

私が間違っている可能性がありますかmongoidん何上の任意のアイデアはバグがありますか?

+0

でサポートされてい判明? – kclair

+0

はい、悲しいことですが動作しません...ありがとうございます。 – Emanuel

答えて

0

私は宝石の開発者に話しました。彼はそれがレール3.1 + でサポートされていると言います。また、別の構文(javascriptに似ています)を使用してこの作業を行いました。

scope :between, ->(from, to){ where(:created_at => {'$gte' => Time.parse(from.to_s)}).and(:created_at => {'$lte' => Time.parse((to + 1.day).to_s) - 1.second }) } 

そして、それはあなたが明示的に文字列にDateオブジェクトを変換しようとしたことがあり、これは、レール3.0

関連する問題