Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails4:语法错误,意外的tLABEL作用域:find_paid_Ruby On Rails_Ruby On Rails 4_Activerecord_Scope - Fatal编程技术网

Ruby on rails Rails4:语法错误,意外的tLABEL作用域:find_paid

Ruby on rails Rails4:语法错误,意外的tLABEL作用域:find_paid,ruby-on-rails,ruby-on-rails-4,activerecord,scope,Ruby On Rails,Ruby On Rails 4,Activerecord,Scope,我想查找paid=1的所有订单 所以,我写了 class Order < ActiveRecord::Base scope :find_paid, lambda { |paid| where (paid: 1)} end 类顺序

我想查找paid=1的所有订单

所以,我写了

class Order < ActiveRecord::Base
scope :find_paid, lambda { |paid| where (paid: 1)}
end
类顺序
这是错误的

意外的tLABEL范围:find|u paid,lambda{| paid | where(paid:1)}^

怎么了?

这应该可以:

class Order < ActiveRecord::Base
  scope :find_paid, -> { where(paid: 1) }
end
您将按如下方式使用此范围:

Order.paid?(1) # would return paid orders
Order.paid?(0) # would return unpaid orders

谢谢你,安迪。在我发布这篇文章之前,我也尝试过你的方法。然而,我犯了一个大错误。where和之间不应该有空格(.wow,很高兴听到-谢谢!!:)这是公司给我的礼物,我在一段时间前工作过(迄今为止我工作过的最好的公司),它的首席执行官来自澳大利亚:)where和之间不应该有空格(,也不应该是|付费的|)。希望它能帮助别人。
Order.paid?(1) # would return paid orders
Order.paid?(0) # would return unpaid orders