2011-07-16 149 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