Ruby on rails Rails4:语法错误,意外的tLABEL作用域:find_paid
我想查找paid=1的所有订单 所以,我写了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 类顺序
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