1

我已经使用 jefferyway 的 laravel4 生成器作为播放器设置了一个资源控制器。因此,当我转到 url /players/show 时,它会显示 show.blade.php。这是正确的。但是当我转到 /players/{whatever name field i can pass} 时,它会转到 show.blade.php。没有抛出 httpnotfoundexception 或任何错误。

这些是应用程序的控制器和路由文件。

http://paste.laravel.com/qwp
http://paste.laravel.com/qwq

4

3 回答 3

4

这就是它应该工作的方式。
show45 行的方法处理对/players/{anything}.


Jeffery Way 在 Laravel 4 上有一个非常好的截屏系列,他详细解释了这一点:

资源丰富的控制器:第 1 部分
资源丰富的控制器:第 2 部分

于 2013-05-05T19:28:40.617 回答
0

当您注册资源控制器时,它将为您创建这些路由:

GET /players                                                    players.index            PlayerController@index                       
GET /players/create                                             players.create           PlayerController@create                      
POST /players                                                   players.store            PlayerController@store                       
GET /players/{players}                                          players.show             PlayerController@show                        
GET /players/{players}/edit                                     players.edit             PlayerController@edit                        
PUT /players/{players}                                          players.update           PlayerController@update                      
PATCH /players/{players}                                                                 PlayerController@update                      
DELETE /players/{players}                                       players.destroy          PlayerController@destroy 

您可以使用以下列表获得此列表:php artisan routes

您现在可以看到 player.show 将处理 /players/*

于 2013-05-05T19:33:29.963 回答
0

使用示例:

Route::group(array('before' => 'auth'), function()
{
    Route::get('/', function()
    {
        // Has Auth Filter
    });

    Route::get('user/profile', function()
    {
        // Has Auth Filter
    });
});
于 2013-05-07T16:49:08.390 回答