2016-05-10 11 views
1

Ich baue eine Rails-Anwendung (mit ActiveAdmin und Devise) und ich versuche, die after_sign_up_path_for außer Kraft zu setzen, die Umleitung nach der Anmeldung zu ändern.
Ich folgte dieser tutorial von Gerät, aber meine RegistrationsController wird nie aufgerufen. Ich denke, es könnte mit ActiveAdmin ein bisschen anders funktionieren.Wie kann ich "after_sign_up_path_for" in ActiveAdmin überschreiben?

Ich versuchte auch andere Lösung, die ich auf Stapelüberlauf ohne Glück gefunden habe.

Hier ist meine Routen:

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 

Und mein RegistrationsController: (was genannt wird nie)

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 

Vielen Dank für Ihre Hilfe!

Mein Projekt:

  • Rails 4.2.6
  • ActiveAdmin 1.0.0.pre2
  • Devise 3.5.9

Antwort

0

ActiveAdmin Sie Ihre RegistrationsController nicht verwenden und können benutze sie nicht. Sie können diese Methode auf Ihrem ApplicationController definieren oder Sie können es auf diese Weise tun:

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

Vielen Dank für Ihre Antwort! Ich versuche das bereits, aber es hat weder in active_admin.rb noch in ApplicationController funktioniert. Ich werde immer noch zur/admin/login Seite weitergeleitet :( – anthony

Verwandte Themen