【问题标题】:Specific Laravel route suddenly not working特定的 Laravel 路线突然不起作用
【发布时间】:2014-10-20 19:19:08
【问题描述】:

我有一个非常神秘的问题。我的一条路线突然无法正常工作,所有其他路线都正常。

我没有收到任何错误,只是一个空白的空白页。

即使我只是返回一个字符串,它什么也没给我

public function create()
{
    return "Create";
}

路线:

Route::get('/start/user/create', array(
    'as' => 'user/create',
    'uses' => 'UserController@create'
));

链接:

<a class="btn btn-success pull-right" href="{{ URL::route('user/create') }}"> {{Lang::get('strings.create_customer')}}</a>

我正在使用 MAMP 并重新启动服务器,但没有任何帮助。

编辑:我尝试创建一个全新的路由,在控制器和视图中运行,只输出一个字符串。一样,只是给我空白页。

编辑 2:我的应用程序在路由 start/user/create 上确实存在问题。例如,如果我将其更改为start/user/bullshit/create,一切正常。那么这可能是什么?是否有某种缓存总是给我带有路由start/user/create 的空白页。它是我遇到问题的唯一路线。

【问题讨论】:

  • 你有错误报告吗?其他地方的一些 php 错误会导致您的空白页
  • 它在 php_error.log 中没有给出错误
  • 向我们展示您的routes.php 文件。
  • 不应该是'as' =&gt; 'user.create'吗?
  • 如何命名路线由您决定。我更喜欢将它们命名为实际路线。

标签: php laravel


【解决方案1】:

我没有解决方案,但试试这个作为排除控制器类问题的方法:

Route::get('/start/user/create', function()
{
    return 'This works!';
});

然后直接进入url /start/user/create 希望它对您有所帮助。

【讨论】:

  • 它不起作用。但是,如果我将其更改为 start/whateverhere/create,它将显示“这有效!”
  • 向我们展示您的 routes.php 文件。我的猜测是,在定义此路线之前,您还有另一条路线匹配。尝试将此路由添加到 routes.php 文件的顶部,或删除所有其他路由。如果您也运行 php artisan routes,您可以以良好的格式查看所有路由。
  • 正如@mattiashallstrom 所提到的,您可能在您的routes.php 中使用了类似/start/user/{id} 的路线,该路线在/start/user/create 之前被调用
【解决方案2】:

问题并没有解决,而是通过使用资源丰富的路线而不是它的工作。代码也更干净,所以我想这是一个更好的方法。

Route::resource('start/user', 'UserController',
        array('names' => array('create' => 'user/create',
                                'index' => 'user/index',
                                'show'  => 'user/show',
                                'edit'  => 'user/edit',
                                'update'=> 'user/update',
                                'store' =>  'user/store',
                                'destroy'   =>'user/destroy')
));

【讨论】:

    猜你喜欢
    • 2016-07-24
    • 2017-10-02
    • 2013-05-03
    • 2014-09-08
    • 2015-03-18
    相关资源
    最近更新 更多