2016-05-10 4 views
1

Я строю приложение Rails (с использованием ActiveAdmin и Завещание), и я пытаюсь переопределить after_sign_up_path_for изменить Перенаправление после регистрации.
Я следил за этим tutorial от разработки, но мой RegistrationsController никогда не вызывается. Я думаю, это может работать немного по-другому с ActiveAdmin.Как я могу переопределить «after_sign_up_path_for» в ActiveAdmin?

Я также пробовал другое решение, которое я нашел при переполнении стека, не повезло.

Вот мои маршруты:

Rails.application.routes.draw do 
    devise_config = ActiveAdmin::Devise.config 
    devise_config[:controllers][:omniauth_callbacks] = 'users/omniauth_callbacks' 
    devise_config[:controllers][:registrations] = 'registrations' 
    devise_for :users, devise_config 

    ActiveAdmin.routes(self) 
    # other routes 
end 

И мой RegistrationsController: (который никогда не называют)

class RegistrationsController < ActiveAdmin::Devise::RegistrationsController 
    protected 

    def sign_up(_resource_name, _resource) 
    true 
    end 

    def after_sign_up_path_for(_resource) 
    root_url 
    end 
end 

Спасибо за вашу помощь!

Мой проект:

  • Rails 4.2.6
  • ActiveAdmin 1.0.0.pre2
  • Разрабатывают 3.5.9

ответ

0

ActiveAdmin не использовать RegistrationsController и может Не используйте их. Вы можете определить этот метод на своем ApplicationController, или вы можете сделать это следующим образом:

# conig/initializer/active_admin.rb 
ActiveAdmin::Devise::RegistrationsController.class_eval do 
    def after_sign_up_path_for(_resource) 
    root_url 
    end 
end 
+0

Спасибо за ваш ответ! Я уже пробовал это, но он не работал ни в active_admin.rb, ни в ApplicationController. Я все еще перенаправлен на страницу/admin/login :( – anthony

Смежные вопросы