4

Larvel 4 では、ネストされたリソース コントローラーをセットアップしようとしています。

routes.phpで:

Route::resource('admin/photo', 'Controllers\\Admin\\PhotoController');

app\controllers\Admin\PhotoController.php内:

<?php namespace Controllers\Admin;

use Illuminate\Routing\Controllers\Controller;

class PhotoController extends Controller {

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {
        return 'index';
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @return Response
     */
    public function store()
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @return Response
     */
    public function show($id)
    {
        return $id;
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @return Response
     */
    public function edit($id)
    {
        return "edit $id";
    }

    /**
     * Update the specified resource in storage.
     *
     * @return Response
     */
    public function update($id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @return Response
     */
    public function destroy($id)
    {
        //
    }

}

index (/admin/photo GET)、create (/admin/photo/create)、store (/admin/photo POST) アクションは正常に動作しますが、editshowではなく、ページが見つかりません 404 ステータスが表示されます。

管理者ルート パスを削除しても機能します。

admin/photo のようなネストされたパスで動作するように Route::resource コントローラーをセットアップする方法を誰か教えてもらえますか?

4

4 に答える 4

15

https://github.com/laravel/framework/issues/170 を参照

routes.php で動作する私のコードを見たい人のために:

Route::group(array('prefix' => 'admin'), function() {

    // Responds to Request::root() . '/admin/photo'
    Route::resource('photo', 'Controllers\\Admin\\PhotoController');
});
于 2013-01-29T16:07:38.340 に答える
0

グループ プレフィックス -> admin を使用するだけです。ネストされた admin.photo を使用すると、admin/{admin}/photo/{photo} のような不要な URL が作成されます。

于 2015-03-17T12:47:03.450 に答える
0

おそらく、クラスを再度リロードするよう Composer に指示する必要があるでしょう。コマンド ラインから実行します。

composer dump-autoload

それはうまくいくはずです。

于 2013-10-11T07:19:27.617 に答える