0

私は次のコード例を見ました:

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

私には、これは、次のものとは対照的に、もう少しルビー/レールのように見えます:

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

ただし、これを自分のコードで再現しようとすると、次のようになります。

:created_at:Symbolの未定義のメソッド `gte'

よくわかりませんが、これはMongoDBのメソッドだと思います。もしそうなら、ActiveRecordを拡張してそれを利用する方法はありますか?

4

1 に答える 1

2

あなたは正しいです。これはモンゴイド クエリ DSLです。

同様の拡張方法は、 squeel gemActiveRecordを使用して実現されます。ただし、少し異なります。

Subscription.where{ created_at.gte => t0 }

異なる括弧に注意してくださいcreated_at。記号ではありません。

于 2012-11-07T19:27:38.180 に答える