duanfu9523 2014-07-29 22:15
浏览 127
已采纳

在具有闭包的Route上找不到Laravel Controller方法

I have the following route:

Route::group(array('prefix' => 'admin', 'before' => 'auth'), function()
{
    Route::get('user/my-price/{user}/{sku}', function ($user, $sku)
    {
        return getMyPrice($user, $sku);
    });
});

I am logged in under admin and every other route works except this new one I added at the top of the other routes in the admin group.

I am accessing the route via the following URL:

http://domain.dev/sites/client112/public/admin/user/my-price/6146/UF-5E4Q-T8PO

What would cause Laravel 4.2 to show the error Controller method not found when clearly this is a closure, not a controller reference?

  • 写回答

1条回答 默认 最新

  • dswsl2016 2014-07-31 09:58
    关注

    This was caused by a constraint pattern set on the route that I had forgotten about:

    Route::pattern('sku', '[0-9a-z]+');
    

    Changing that pattern to include - as a valid character in the SKU allowed the route to work.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?