0

这可能是一个非常简单的问题。

我有一个索引函数,它可以根据传递给它的可选参数列出所有内容或特定项目。

我有控制器的这条路线:

Route::controller('movies/(:any)');

我想将它重定向到带有参数的电影索引函数。我不希望人们必须输入: www.site.com/movies/index/2 而是 www.site.com/movies/2

我在任何数组中尝试了一个问号和一个“闭包”函数(我认为这是正确的术语)来允许我重定向。

关闭尝试如下所示:

Route::controller('movies/(:any?)',function($id){
    return Redirect::to("movie/index/$id");
});

这给了我一个 404 错误。我做对了吗?

4

1 回答 1

1

你不想在你的路线上区分它,让控制器决定做什么。

您的路线:

Route::get('movies/(:any)', 'movies@index');

你的控制器:

class Movies_Controller extends Base_Controller {

    public $restful = true; // i have this line on my Base_Controller

    function get_index($id = null)
    {
        if( ! is_null($id))
        {
            // return the movie
        }

        // return all movies
    }
}
于 2012-11-11T15:35:28.693 回答