Laravelのルーティングに名前をつけて使用したいのですが、
名前で呼び出すとRoute [user.show] is not defined.
というエラーが出てしまいます。
直接urlを指定した場合は問題なく呼び出すことができるのですが
何が問題なのでしょうか?
名前で呼び出すにはどうしたらいいでしょうか?
blade
1 # 名前付きルートで呼び出そうとするとエラー 2<div class="url"><a href="{{ route('user.show') }}"></a></div> 3 4 #直接url指定するとエラーは出ず、リンク先への画面遷移も問題ない 5<div class="url"><a href="/user/show"></a></div>
Controller
1 public function show() 2 { 3 return view("user.show"); 4 }
route
1Route::group([ 2 'middleware' => 'auth:user', 'prefix' => 'user' 3], function () { 4 Route::get("/show", "UserController@show")->name('user.show'); 5});
使用バージョン
- Laravel Framework 5.5.47
- PHP 7.3.11
やってみましたが問題なく出るので
php artisan route:list
の結果貼り付けてもらえますでしょうか。
キャッシュクリアとかも試してみてください
ご回答ありがとうございます。
書き方に問題はないのですね…。
キャッシュクリアとdump-autoloadは試しましたが事象変わらずでした。
route:listを実行したら下記のエラーになりました。
この Service\HomeController 自体は存在しているのですが、useの指定がどこかでおかしくなっているのでしょうか?
```
/app # php artisan route:list
In Container.php line 752:
Class App\Http\Controllers\Service\HomeController does not exist
```
書き方おかしいですね…原因はこれっぽいので再現できたら回答します
すみません、ありがとうございます。
私のほうでも引き続き調査致します。
再現できた…理由も多分わかった
回答1件
あなたの回答
tips
プレビュー