ユーザーが自分のプロフィールを編集し、送信したら、編集後の自分のプロフィールページにリダイレクトする仕組みを実装したいです。
ユーザー管理は Laravel 5.7 標準の認証機能を利用しています。
ルーティング
PHP
1//ユーザーのプロフィールを表示 2Route::get('/users/{name}', 'UserController@profile'); 3//プロフィール編集フォーム表示 4Route::get('/user/edit', 'UserController@get_edit')->middleware('auth')->middleware('verified'); 5//プロフィール編集送信 6Route::post('/user/edit', 'UserController@post_edit')->middleware('auth')->middleware('verified');
UserController
PHP
1 //編集がPOSTされたとき 2 public function post_edit(Request $request) 3 { 4 /* 5 プロフィール内容を保存する処理 6 */ 7 return redirect()->action('UserController@show_mypage'); 8 } 9 10//自分のプロフィールを表示 11public function show_mypage() 12{ 13 $user = Auth::user(); 14 return view('profile', compact('user')); 15}
ユーザーのプロフィールを表示するのは UserController@profile ですが、
自分のプロフィールを表示する専用のメソッド UserController@show_mypage も用意しました。
プロフィール編集後、リダイレクトでアクションshow_mypageが呼ばれるはずです。
しかし以下のエラーが出ます。UserControllerのパスも正しいですし、メソッド名も正しいです。
Action App\Http\Controllers\UserController@show_mypage not defined.
UserController@show_mypage は確かに定義しているはずですが、どこが問題なのでしょうか?
また「こういう場合は、このやり方の方が良い」などありましたら教えていただけると幸いです。
わかる方いましたらよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/19 14:38
2019/02/19 14:41
2019/02/19 14:49