如何在ActiveAdmin中覆盖“after_sign_up_path_for”?
我正在构建一个Rails应用程序(使用ActiveAdmin和Devise ),我试图覆盖after_sign_up_path_for以在注册后更改重定向。
我从设计中遵循了这个教程 ,但我的RegistrationsController从未被调用过。 我想它可能与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
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