2010-10-21 28 views
2
class User < ActiveRecord::Base 
    validates_each :name, :email do |model, attr, value| 
      if value =~ /groucho|harpo|chico/i 
        model.errors.add(attr, "You can't be serious, #{value}") 
       end 
    end 
end 

困惑,这是如何工作的。帮助理解validates_each Rails帮手

是:名称,电子邮件的项目将循环?

回答

2

:name:email是将使用此块验证的属性。

因此,每个用户被验证时,该块将被一旦与attr = :name称为次,用attr = :email(每次value将持有该属性的值)。