我收到了这些警告:
payment_method.rb:11: warning: multiple values for a block parameter (0 for 1)
payment_method.rb:12: warning: multiple values for a block parameter (0 for 1)
payment_method.rb第11行和第12行:
class PaymentMethod < ActiveRecord::Base
...
named_scope :expiring_next_month, lambda {|pm| {:conditions => {:ed => DateTime.now.beginning_of_month}}}
named_scope :expired, lambda {|pm| {:conditions => ["ed < ?", DateTime.now.beginning_of_month]}}
...
end
我在这里缺少什么?
答案 0 :(得分:4)
你的范围有一个参数。你需要使用它。或者不定义它
named_scope :expiring_next_month, lambda { {:conditions => {:ed => DateTime.now.beginning_of_month}}}
named_scope :expired, lambda { {:conditions => ["ed < ?", DateTime.now.beginning_of_month]}}
根据我的情况,你可以不用args打电话。不是你的情况。在ruby 1.8中,没有办法在lambda中使用optionnal params。