web-dev-qa-db-ja.com

ページを表示しようとしたときのエラー、次のエラー:アクションFacade \ Ignition \ Http \ Controllers \ ShareReportControllerが定義されていません

ルートにアクセスしようとすると、以下のエラーが発生しますが、データをロードするにはコントローラーが必要です。

(1/1) InvalidArgumentException
Action Facade\Ignition\Http\Controllers\ShareReportController not defined.

私はTenancy/Multi-Tenantパッケージを使用しており、routes/tenants.phpを使用してテナント専用のルートをロードするように構成しました。 tenants.phpファイルで次のようにすると、適切な応答が返されます。

Route::get('/test', function() {
    return 'Test success';
});

私が同じことをしようとすると、しかしこのようなコントローラーからデータをロードするとき:

Route::get('/testt', 'TenantController@testt');

エラーが表示されます:

(1/1) InvalidArgumentException
Action Facade\Ignition\Http\Controllers\ShareReportController not defined.

同じコードをweb.phpルートに配置しようとすると、完全に機能します。何が問題でしょうか?それは私のコードに何かありますか?私が使用しているマルチテナントパッケージが原因である可能性はありますか?これをさらにデバッグするにはどうすればよいですか?

1

修正は、ルートをtenants.phpでグループ化し、ウェブミドルウェアと名前空間を使用することでした。

Route::middleware('web')->namespace('App\Http\Controllers')->group(function() {
    //Routes
});
3

composer dump-autoload -oをお試しください。

3
Arnoldas

数分後に修正しようとしたところ、解決策が見つかりました。

RoutesServiceProviderまたはカスタムプロバイダーで行った場合は、ルートをグループ化する必要はありません。

_config/tenancy.php_に移動して_routes -> path_に移動し、base_path()関数を削除して文字列を取得します。

_'path'           => base_path('routes/tenants/tenants.php'),
_

_'path'           => 'routes/tenants/tenants.php',
_

そして、このエラーは修正されるべきです。

1
Eric Lagarda

ルートがキャッシュされているかどうかを確認し、そのキャッシュをクリアしてみてください。 route:clearを使用してプロジェクトのルートキャッシュをクリアするだけです

1
Pawan Verma

サーバー側では、/ stoageフォルダーに移動してキャッシュをクリアしました。例えば。/storage内のフォルダーを表示します。次に、すべてのフォルダーとファイルのアクセス許可をすべて読み取りと書き込みに変更しました。その後、開始されたページが期待どおりに表示されます

0
CodeToLife

Laravel 6.2にlaravel/passport 8.1をインストールした後、同様のエラーが発生しました:

アクションFacade\Ignition\Http\Controllers\ExecuteSolutionControllerが定義されていません。

それを修正しましたcomposer update。結果は:

ファサード/点火の更新(1.13.0 => 1.13.1):

0
ncastro

Google経由でこれを見つけた人々:Laravel 6.5で同様のエラーが発生しました。不完全なGitマージでAppServiceProviderをめちゃくちゃにしました:

<?php

namespace App\Providers;

use Illuminate\Support\Str;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Blade;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
<<<<<<< HEAD
        Blade::if(
            'iscurrentroute',
            function ($route) {
                $route = Str::replaceFirst(Request::getSchemeAndHttpHost().'/', '', $route);
                return Request::is($route);
            }
        );
=======
        Blade::component('components.sortable', 'sortable');
>>>>>>> feature/WLI-58-bedrijf-beheren
    }
}

「=」、「<」、「>」を削除し、Bladeを2回使用することで修正されました。

0
Aaron Bell