0

我看到了以下代码示例:

Subscription.where(:created_at.gte => t0)`

对我来说,这似乎更像 ruby​​/rails,而不是:

Subscription.where("created_at > ?", t0)`

但是,尝试在我自己的代码中重现这一点会导致:

:created_at:Symbol 的未定义方法“gte”

我不确定,但我相信这是一种 MongoDB 方法。如果是这样,有什么办法可以扩展 ActiveRecord 来使用它?

4

1 回答 1

2

你是对的。这是mongoid 查询 DSL

ActiveRecord使用squeel gem可以实现类似的扩展方式。但是,它略有不同。

Subscription.where{ created_at.gte => t0 }

注意不同的括号,created_at它不是一个符号。

于 2012-11-07T19:27:38.180 回答