Ruby - Mongoid - не может запрашивать диапазон дат, ошибка: ключи должны быть строками или символами - PullRequest
0 голосов
/ 06 января 2012

Следующий запрос не работает и продолжает выдавать странную ошибку: ключи должны быть строками или символами

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 есть ошибка?

1 Ответ

0 голосов
/ 13 января 2012

Я говорил с разработчиком гема, и он говорит, что он поддерживается в rails 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 }) }

И получается, что это поддерживается в рельсах 3.0

...