Laravel 4:无法生成URL,因为此类路由不存在

时间:2014-07-02 14:47:36

标签: php laravel laravel-4 twig laravel-routing

这是我的routes.php:

Route::group(['prefix' => 'mine'], function () {
    Route::get('/first', ['as' => 'mine.first', 'uses' => 'MyApp\Controllers\MyController@first']);
});

这是我的HTML / Twig文件:

{{ form_open({'action': 'mine.first'}) }}
{{ form_submit('Start') }}
{{ form_close }}

这是我的控制器:

class MyController extends BaseController {
    public function first()
    {
        \View::make('stuff.mine.first'); //in folder app/views/stuff/mine
    }
}

错误是"在渲染模板期间抛出了异常("无法生成指定路线的网址" MyController @ first"因为这样的路线没有存在。")" stuff.show"在第130行。"

我所看到的关于这个主题的所有答案都是为路线命名,但我已经做过了。

此外,当我手动转到URL(localhost / mine / first)时,即使该文件中有HTML,屏幕仍为空白。

知道发生了什么事吗?感谢。

1 个答案:

答案 0 :(得分:3)

mine.first是路线名称,而非行动。

使用:

{{ form_open({'route': 'mine.first'}) }}

对于视图,控制器动作需要返回一个Response(View生成一个),所以你只需要添加正确的关键字:

  public function first()
  {
     return \View::make('stuff.mine.first');
  }