在填写我的注册表格并点击提交后,它会将我重定向到我的根页面,我不想这样做,我希望它重定向到我创建的特定页面。我正在使用rails 7,我使用de devise gem。
my registration_controller.rb
class RegistrationController < ApplicationController
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:prénom, :nom, :age, :gender, :tel_number])
devise_parameter_sanitizer.permit(:update, keys: [:prénom, :nom])
end
end
我的路线.rb
Rails.application.routes.draw do
resources :information
devise_for :accounts
root "pages#home"
devise_scope :account do
get 'accounts/sign_out' => "devise/sessions#destroy"
end
get 'accounts/verify_email', to: 'pages#VerifyEmail'
# Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html
# Defines the root path route ("/")
# root "articles#index"
end
我尝试在我的registration_controller.rb中执行此操作,但没有成功。
def new
@account = Account.new
end
def create
@account = Account.new(params[:accounts])
if @account.save
redirect_to accounts_verify_email
else
render :new
end
2条答案
按热度按时间ahy6op9u1#
首先,将注册控制器基于
Devise::RegistrationsController
。然后你就有了这个可以覆盖的方法。
您也可以使用任何路径帮助器方法。
resource
是可用的,以防万一,如果你有更多的可验证的模型。但我想你不需要那个了。mbzjlibv2#
首先,您需要告诉路由器使用自定义设备注册控制器
然后创建它并覆盖
after_sign_up_path_for
Devise方法