2010-11-05 100 views
2

我得到這些警告:無法擺脫一個Rails警告: 「多值塊參數(0 1)」

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 

我在這裏錯過了什麼?

回答

4

你有你的範圍params。你需要使用它。或沒有定義它

named_scope :expiring_next_month, lambda { {:conditions => {:ed => DateTime.now.beginning_of_month}}} 
named_scope :expired, lambda { {:conditions => ["ed < ?", DateTime.now.beginning_of_month]}} 

與我的情況下,你可以調用沒有參數。不是你的情況。在紅寶石1.8中,沒有辦法在lambda中使用optionnal params。