我在Rails模型上设置了Devise:
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable
我也对同一型号进行了验证:
before_validation :geocode_address, :on => :create
当我创建新用户时,geocode_address被调用,这是我想要做的,但是当用户登录(创建新的Devise Session)时它也会被踢,这是我不想要的。
你知道如何解决这个问题吗?
答案 0 :(得分:0)
这可能是因为模型也在用户登录时得到验证。我认为在模型上使用after_create会更好一点,例如:
after_create :your_method
def your_method
...
end
详细信息:http://ar.rubyonrails.org/classes/ActiveRecord/Callbacks.html#M000061