给定用户模型的内容:
class User < ActiveRecord::Base
acts_as_authentic do |config|
config.validate_email_field = true
end
end
我希望能够修改“true”以特定于正在注册的用户。我希望能够做到这样的事情:
class User < ActiveRecord::Base
acts_as_authentic do |config|
config.validate_email_field = ['dont@validate.me'].include?(instance_email)
end
end
但是那里没有instance_email。您是否必须覆盖用户模型上的方法才能访问此变量?怎么办呢?
答案 0 :(得分:3)
您不能因为在加载类时评估Authlogic块并且它没有实例上下文。
您需要编写自己的验证器。
class User < ...
validate :validate_email
...
def validate_email
if !['dont@validate.me'].include?(instance_email)
# write here your validation logic
end
end
end