Разработка «Создание нового сеанса» вызывает модели: вкл. => : создать валидаторы

#ruby-on-rails #devise

#ruby-on-rails #разработка

Вопрос:

У меня есть настройка разработки на модели Rails:

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

У меня также есть проверка на той же модели:

 before_validation :geocode_address, :on => :create
  

Когда я создаю нового пользователя, вызывается geocode_address, что я и хочу сделать, но он также запускается, когда пользователь входит в систему (создает новый сеанс разработки), чего я не хочу.

Вы знаете, как я могу это исправить?

Ответ №1:

Вероятно, это происходит потому, что модель также проверяется при входе пользователя в систему. Я думаю, что было бы лучшей идеей использовать after_create в вашей модели, например :

 after_create :your_method

def your_method
  ...
end
  

Подробности : http://ar.rubyonrails.org/classes/ActiveRecord/Callbacks.html#M000061