Ruby on rails 我如何可以覆盖“引用”;在“为”注册“路径”之后;在ActiveAdmin中?

Ruby on rails 我如何可以覆盖“引用”;在“为”注册“路径”之后;在ActiveAdmin中?,ruby-on-rails,devise,activeadmin,Ruby On Rails,Devise,Activeadmin,我正在构建一个Rails应用程序(使用ActiveAdmin和Desive),并尝试在注册后覆盖的路径以更改注册后的重定向。 我从Deave中遵循了这一点,但从未调用我的注册控制器。我想它可能与ActiveAdmin的工作方式稍有不同 我还尝试了在堆栈溢出上找到的其他解决方案,但没有任何运气 这是我的路线: Rails.application.routes.draw do devise_config = ActiveAdmin::Devise.config devise_config[:

我正在构建一个Rails应用程序(使用ActiveAdminDesive),并尝试在注册后覆盖路径以更改注册后的重定向。
我从Deave中遵循了这一点,但从未调用我的注册控制器。我想它可能与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
和my RegistrationController:(从未调用)

class RegistrationController
谢谢你的帮助

我的项目

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
  • 轨道4.2.6
  • ActiveAdmin 1.0.0.pre2
  • 设计3.5.9

ActiveAdmin不使用您的RegistrationController,也不能使用它们。您可以在ApplicationController上定义该方法,也可以这样做:

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

ActiveAdmin不使用您的RegistrationController,并且无法使用它们。您可以在ApplicationController上定义该方法,也可以这样做:

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

谢谢你的回复!我已经试过了,但在active_admin.rb或ApplicationController中都不起作用。我仍然被重定向到/admin/login页面:(感谢您的回复!我已经尝试过了,但在active_admin.rb或ApplicationController中都不起作用。我仍然被重定向到/admin/login页面:(