2011-07-16 81 views
0

我的問題是:下面的代碼工作正常,但有一個特例。如果商品的product_id是1,那麼商品最多可以有10個關鍵字。任何幫助將是appreciated.Thanks驗證問題的長度

class Item < ActiveRecord::Base 

validates_length_of :keywords, :maximum => 5, :tokenizer => lambda {|str| str.scan(/\w+/) }, :on => :update 

end 

回答

1
validates_length_of :keywords, :maximum => 5, :tokenizer => lambda {|str| str.scan(/\w+/) }, :on => :update, :unless => lambda { |item| item.product_id == 1 } 
+0

謝謝。我測試過,它像一個魅力。 – rOrman

+0

您可能還需要第二次驗證,最多10次,並將':unless'更改爲':if'。確切地說, –

+0

。謝謝。 – rOrman