我正在构建Rails应用程序(使用 ActiveAdmin 和设计),我试图覆盖 after_sign_up_path_for 以在签名后更改重定向起来。
我从设计中跟踪了这个tutorial但我的 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
感谢您的帮助!
我的项目:
答案 0 :(得分: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