3

次の例を参照してください。

    Route::group(array('prefix' => 'admin'), function()
    {
        //this resolves to admin/departments
        Route::resource('departments', 'DepartmentsAdminController');
        //this resolves to admin/users
        Route::resource('users', 'UsersAdminController');
        //this resolves to admin/companies  
        Route::resource('companies', 'CompaniesAdminController');
        Route::resource('projects', 'ProjectsAdminController');
        Route::resource('jobs', 'JobsAdminController');
        Route::resource('milestones', 'MilestonesAdminController');
        Route::resource('hours', 'HoursAdminController');
        Route::resource('notes', 'NotesAdminController');
        Route::resource('briefs', 'BriefsAdminController');
        Route::resource('brief_items', 'BriefItemsAdminController');
    });

Laravel は、プレフィックスに基づいてルート名を変更します。この場合、プレフィックスはadminです。

そのため、すべてのルート名に admin というプレフィックスが付けられるようになりました。以下を参照してください。

    admin.users.create
    admin.users.edit

しかし、プレフィックスを別のものに変更したい場合は、アプリケーション全体でルート名を変更する必要があります。

私が欲しいのは、ルート名をそのままにしておくことです

    users.create
    users.edit        

ルート名を変更せずにプレフィックスを変更します。

リソースコントローラーのルート名を静的に保ち、いつでもプレフィックスを変更する方法はありますか?

4

3 に答える 3

0

あなたが求めていることはあまり合理的ではないと思います...したがって、グループルートに名前付きルートが必要です。つまり、IF laravel では次のような名前付きグループ ルートを設定 Route::group(array('prefix' => 'admin', 'as'=>'something'), function() {...でき、いつでも Redirect::route('something/users') を実行できます。次に、プレフィックスオプションはまったく目的を果たさないので、プレフィックスを使用しないのはなぜですか。

そうは言っても、アクションヘルパー関数を使用してURLをそのまま返すことができます:action('NotesAdminController@index')

于 2013-08-31T05:29:01.840 に答える
0

私のLaravel ブログ コードを参照してください。ここでは、構成変数に基づいてそれを行っています。

ただし、ルートの名前付けの問題が解決するかどうかはわかりません。「as」配列メソッドを使用して、ルートに静的な名前を付けることができるはずです。

$adminGroup = Config::get('admin.group');
Route::group(array('prefix' => $adminGroup, 'as'=>'something'), function() { ... });

注: ルート グループに名前を付けることができるかどうかは確認していません (その中の特定のルートに対して)。LMK がどのように機能するか。

最後に、構成変数を使用しましたが、そのフォームがデータベース駆動であることを止めるものは何もありません。

于 2013-08-31T15:18:30.333 に答える