我是一名 Objective-c 程序员,所以我不习惯在方法之外编写代码。
我有一个关于 Rail 的验证
的两部分问题。
考虑这段代码:
class User < ActiveRecord::Base
attr_accessible :name, :email
email_regex = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :name, :presence => true,
:length => { :maximum => 50}
validates :email, :presence => true,
:format => { :with => email_regex }.
:uniqueness => true
end
validates
方法具体何时执行?在实例化User
实例时或加载其类定义时?User
何时真正得到验证?何时保存或创建User
实例?
最佳答案
类定义中的所有调用都是在执行类定义时调用的,而不是在创建实例时调用的。值得一提的是,变量 email_regex 不是实例变量,而是类定义的局部变量。
关于ruby-on-rails - "validates"什么时候执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8592274/