Laravelのコーディング中に発生したエラーの対処方法をご紹介します。
エラー発生内容
英語の意味を翻訳すると、
「無効なルートアクション」とのことです。
エラー解決方法
app\Providers\RouteServiceProvider.php
エラー要因のコード↓
public function boot(): void
{
RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
});
$this->routes(function () {
Route::middleware('api')
->prefix('api')
->group(base_path('routes/api.php'));
Route::prefix('admin')
->as('admin.')
->middleware('web')
->namespace('$this->namespace')
->group(base_path('routes/admin.php'));
Route::prefix('owner')
->as('owner.')
->middleware('web')
->namespace('$this->namespace')
->group(base_path('routes/owner.php'));
Route::prefix('/')
->as('user.')
->middleware('web')
->namespace('$this->namespace')
->group(base_path('routes/web.php'));
});
}
app\Providers\RouteServiceProvider.php
直したコード↓
public function boot(): void
{
RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
});
$this->routes(function () {
Route::middleware('api')
->prefix('api')
->group(base_path('routes/api.php'));
Route::prefix('admin')
->as('admin.')
->middleware('web')
->namespace($this->namespace)
->group(base_path('routes/admin.php'));
Route::prefix('owner')
->as('owner.')
->middleware('web')
->namespace($this->namespace)
->group(base_path('routes/owner.php'));
Route::prefix('/')
->as('user.')
->middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
});
}
$this->namespace を 「’」で囲んでしまってたので消去しました。こちらが正しいコードです。
動作環境
Laravel 10.9
PHP 8.2
この記事がお役に立ちますと幸いです。
「Laravelの教科書 バージョン10対応」
最新Laravel 10の機能やアップデート内容を網羅しながら、スキルアップを図る!
「オールカラー」解説で、初心者の方でも迷わずに学ぶことができます。
コードだけで無く「なぜそうなるか」を丁寧に説明してくれます。オススメの1冊です👌
リンク