Выполнение работника после сохранения пользователя.

У меня есть одна проблема, я пытаюсь выполнить работу Sidekiq после того, как Devise сохранил пользователя, но не работает. Если я не использую функцию теста, отлично работает. Но мне не нужно, когда пользователь вводит эту страницу, мне нужно, когда пользователь заполняет регистр.

Я нахожу, как это сделать, но не работает нормально. Пример:

class RegistrationsController < Devise::RegistrationsController
 before_filter :get_ml_informations, :only => :new
...
def after_sign_up_path_for(users)
 # @product_list = get_products(@token)
 # SignupWorker.perform_async(@product_list, @token)
end
...
end

Ошибка: undefined method "user_url" for #

Или это тоже:

def after_sign_up_path_for(resource)
 # @product_list = get_products(@token)
 # SignupWorker.perform_async(@product_list, @token)
 end

Ошибка: показать любую ошибку в моем представлении, я не понимаю...

У меня есть слишком настраиваемые поля в Devise, но, отлично работает:

def sign_up_params
 params.require(:user).permit(:email, :password, :password_confirmation, :first_name, :last_name)
end
1 ответ

Я решил проблему, используя:

def create 
 super 
 if @user.save 
 ... 
 end

end

licensed under cc by-sa 3.0 with attribution.