抛出错误数量的参数错误
Throws wrong number of arguments error
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。有什么想法吗?
在Rails4中引入了where.not。您正在开发 Rails 3.2.13,因此您必须执行以下操作:
Subscription.where('valid_until IS NULL and activated_on IS NOT NULL')
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。有什么想法吗?
在Rails4中引入了where.not。您正在开发 Rails 3.2.13,因此您必须执行以下操作:
Subscription.where('valid_until IS NULL and activated_on IS NOT NULL')