1

我正在尝试使用 Laravel 框架来构建我的应用程序。但是,我遇到了路由问题。

路线

Route::get('ecatalogs', 
    array('as' => 'ecatalog_latest', 'uses' => 'ecatalogs@latest'));

控制器

class Catalogs_Controller extends Base_Controller
{
    public $restful = true;

    public function get_latest()
    {
        return "wohoooooo!";
    }
}

我的 localhost 文件存储在/Users/ariefbayu/Sites/,我的 Laravel 应用程序存储在/Users/ariefbayu/Sites/ecatalog/. 在这个目录中,我有一个info.php文件来确认我的路径设置是否有效,并且它们确实有效。但是,当我导航到http://localhost/ecatalog/public/index.php/ecatalogs它时,总是返回 404 错误。我知道这是基本的,但我不知道为什么这不起作用。

仅供参考,我使用的是 MAMP 服务器,并且我已将所有源文件的访问权限设置为777以测试这是否是权限问题。

4

2 回答 2

1

您指定要在控制器中调用“最新”操作ecatalogs,但实际上调用的是控制器catalogs。将您的使用参数更改为catalogs@latest(或重命名文件和类)。

于 2012-09-23T00:00:08.737 回答
1
Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'ecatalogs@latest'));

注意ecatalogs@latest指针。这告诉Laravel调用get_latest().Ecatalog_Controller

这是您的控制器Catalogs_Controller和功能get_latest()。你需要get_latest()用这个来调用:

Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'catalogs@latest'));
于 2012-09-23T00:37:52.363 回答