错误数量的参数错误

时间:2017-05-02 13:32:38

标签: ruby-on-rails ruby-on-rails-3 activerecord

Rails活动记录会引发以下错误。

 irb(main):030:0* Subscription.where(valid_until: nil).where.not(activated_on: nil)
    ArgumentError: wrong number of arguments (given 0, expected 1+)

valid_until

有5个零条目
irb(main):032:0> Subscription.where(valid_until: nil).count
2017-05-02 19:03:43.867 [MEH]  (0.6ms)  SELECT COUNT(*) FROM "pti_subscriptions" WHERE "pti_subscriptions"."valid_until" IS NULL
=> 5

问题在于where.not。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

在Rails 4中,没有引入。您正在使用Rails 3.2.13,因此您必须执行以下操作:

 Subscription.where('valid_until IS NULL and activated_on IS NOT NULL')