【问题标题】:Laravel 4: Unable to generate a URL, as such route does not existLaravel 4:无法生成 URL,因为这样的路由不存在
【发布时间】:2014-08-23 10:15:45
【问题描述】:

这是我的 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”生成 URL,因为这样的路由不存在。”)在“stuff.show”中第 130 行。”

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

另外,当我手动访问 URL(localhost/mine/first)时,即使该文件中有 HTML,屏幕也是空白的。

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

【问题讨论】:

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


    【解决方案1】:

    mine.first 是一个路由名称,而不是一个动作。

    用途:

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

    对于视图,控制器动作需要返回一个响应(视图生成一个),所以你只需要添加适当的关键字:

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

    【讨论】:

      猜你喜欢
      • 2013-07-07
      • 2023-03-11
      • 2014-12-06
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      相关资源
      最近更新 更多