簡體   English   中英

找不到Laravel控制器方法

[英]Laravel controller method not found

嘗試運行以下Laravel 4.1路由: http://myserver.dev/admin/import-items/1 ://myserver.dev/admin/import-items/1

這樣做時,出現以下錯誤:

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
Controller method not found.

這是我的路線:

Route::group(array('prefix' => 'admin', 'before' => 'auth'), function()
{
    Route::get('items/import-items/{after?}', array('as' => 'importItems', 'uses' => 'ItemsController@importItems'));

    Route::get('items/{id}/show', 'ItemsController@show');
    Route::resource('items', 'ItemsController');
});

我可以看一下Items控制器,方法importItems絕對存在:

class ItemsController extends \BaseController {

    /**
     * Item Model
     * @var Item
     */
    protected $item;

    /**
     * Inject the models.
     * @param Item $item
     */
    public function __construct(Item $item)
    {
        parent::__construct();

        $this->item = $item;
    }

    /**
     * Display a listing of items
     *
     * @return Response
     */
    public function index($items = [])
    {
        $title = Lang::get('admin/items/title.manage_items');

        if (empty($items))
            $items = $this->item;

        return View::make('admin/items/index', compact('items', 'title'));
    }

    /**
     * Imports Items after specified date.
     * @return array
     **/
    public function importItems($after = 7)
    {

        $results = Item::importItems($after);

        return $results;
    }
}

當我運行php artisan routes該路由在列表中明確顯示為可用:

GET|HEAD admin/items/import-items/{after?} | importItems   | ItemsController@importItems

關鍵是,這個確切的代碼可以在我參與的另一個項目中正常工作。在復制路徑設置以及控制器和模型后,它決定不在這個新項目中工作。 我覺得我錯過了一些關鍵步驟,因為我看不到代碼中的任何差異。

有任何想法嗎?

您使用的網址錯誤。 這個網址:

http://myserver.dev/admin/import-items/1

應該是這個

http://myserver.dev/admin/items/import-items/1

要么

Route::get('items/import-items/{after?}', array('as' => 'importItems', 'uses' => 'ItemsController@importItems'));

應該

Route::get('import-items/{after?}', array('as' => 'importItems', 'uses' => 'ItemsController@importItems'));

...取決於您想要的網址

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM