设计“创建新会话”正在调用模型:on => :创建验证器

时间:2011-04-20 05:54:18

标签: ruby-on-rails devise

我在Rails模型上设置了Devise:

  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable

我也对同一型号进行了验证:

before_validation :geocode_address, :on => :create

当我创建新用户时,geocode_address被调用,这是我想要做的,但是当用户登录(创建新的Devise Session)时它也会被踢,这是我不想要的。

你知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

这可能是因为模型也在用户登录时得到验证。我认为在模型上使用after_create会更好一点,例如:

after_create :your_method

def your_method
  ...
end

详细信息:http://ar.rubyonrails.org/classes/ActiveRecord/Callbacks.html#M000061