どのようにAuthlogicのconfigブロックにインスタンス変数にアクセスできますか?
-
19-09-2019 - |
質問
の線に沿ってユーザモデルの何かを考えます
class User < ActiveRecord::Base
acts_as_authentic do |config|
config.validate_email_field = true
end
end
私はサインアップしているユーザーに対して特異的であるように、「真の」変更できるようにしたいと思います。私のような何かをできるようにしたいと思います:
class User < ActiveRecord::Base
acts_as_authentic do |config|
config.validate_email_field = ['dont@validate.me'].include?(instance_email)
end
end
が、そこに利用できinstance_emailではありません。あなたはこの変数にアクセスするために、ユーザモデルのメソッドをオーバーライドする必要がありますか?どのようにこれを行うことができますか?
解決
クラスがロードされたときは、Authlogicブロックが評価されることができないので、それは何のインスタンスのコンテキストを持っていません。
あなたはあなた自身のバリデータを記述する必要があります。
class User < ...
validate :validate_email
...
def validate_email
if !['dont@validate.me'].include?(instance_email)
# write here your validation logic
end
end
end
所属していません StackOverflow