私は現在、認証のためにRails 6とDeviseを使用しています。サインアップに成功した後、ユーザーをリダイレクトしてフォームを編集したいと考えています。ただし、ユーザーがサインアップすると、ルート パスにリダイレクトされます。
私が作成しましたregistrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
protected
def after_sign_up_path_for(resource)
redirect_to edit_user_path
end
end
これも私がリダイレクトしているルートです。
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
ここでも、現在のユーザーであることを確認する方法、またはリダイレクトが現在のユーザーを参照していることを確認する方法について混乱していますか? 私はしなければならないと思いますredirect_to '/users/#{current_user.id}/edit'
ここに私のルートがあります:
Rails.application.routes.draw do
devise_for :users, controllers: {
sessions: 'users/sessions'
}
devise_scope :users do
get 'sign_out', to: 'devise/sessions#destroy'
end
root to: 'home#index'
resources :users, only: [:show, :edit, :update, :destroy]
resources :posts do
resource :comments, only: %i[show new create edit update]
end
end
これを達成する方法は?