Railsでshowアクションを呼び出した際に、意図した画面に遷移はするものの表示されるURLが以下のようになります。
http://localhost:3000/mypage.6
「/mypage.6」→「/mypage/6」と表示するのが正しいと思いますが、何が間違っているのかわかりません。
こちらはRailsでDeviseのログイン後にmypages#showを呼び出しています。
ご教授お願いいたします。
⬛︎route.db
route.rb
1Rails.application.routes.draw do 2 root to:'tops#index' 3 devise_for :users 4 5 resource:mypage 6 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 7end
⬛︎ApplicationController
class ApplicationController < ActionController::Base protect_from_forgery with: :exception before_action :configure_permitted_parameters, if: :devise_controller? protected def configure_permitted_parameters added_attrs = [:username, :email, :password, :password_confirmation, :remember_me] devise_parameter_sanitizer.permit :sign_up, keys: added_attrs devise_parameter_sanitizer.permit(:account_update, keys: [:username]) end def after_sign_in_path_for(resource) mypage_path(resource.id) end def after_sign_out_path_for(resource) root_path end private def store_current_location store_location_for(:user, request.url) end end
⬛︎MypagesController
class MypagesController < ApplicationController before_action :authenticate_user! def show @user = User.find_by(id: params[:id]) end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/11 12:43