【问题标题】:Laravel 5.1 routing returning wrong content from controllerLaravel 5.1 路由从控制器返回错误内容
【发布时间】:2015-07-27 00:21:35
【问题描述】:

我在 laravel 路由方面遇到了一个非常奇怪的问题。

我开始制作一些路由和控制器,然后从每个控制器返回字符串确认它工作正常。

一切都奏效了。

现在,当我开始制作主视图并将其与一些路由模板放在一起时,我注意到 laravel 返回的字符串不是我写的字符串。

所有路由都返回“这是路由名称页面”

真正按预期工作的唯一路线是带有通配符的路线,以及前往起始页面的路线。 这些路由返回正确的字符串。

示例路由

    Route::get('/users', 'UserController@index');

    class UserController extends BaseController {

        public function index() {
            return 'List of users!';
    }

});

此路由显示“这是用户页面”(无错误)

我尝试直接从路由返回字符串,清除所有我能找到的缓存文件,包括路由缓存,重新启动浏览器和 MAMP

为了清楚起见,当我创建路由时,路由返回了正确的字符串。

我已经安装了 Elixir 来编译我的 scss 文件,但我怀疑这应该与我的问题有关.. :(

【问题讨论】:

  • 你确定你没有另一个 UserController 类吗?
  • 当我点击发布问题时,我解决了它!
  • 我在根 Route::get('/{'user'}); 之后有一个带有通配符的路由该路由覆盖了所有其他在根之后只有一个参数的路由。因此,如果我转到 url “/users”,路由将假定它是通配符并将其发送到另一个控制器!脑筋急转弯! :P
  • @user3677636 你应该把它写成答案并接受它——帮助下一个人!

标签: php routing routes laravel-5 laravel-routing


【解决方案1】:

在我发布问题后就想通了!

我在根目录后面有一个带有通配符的路由

    Route::get('/{'user'}); 

此路由覆盖所有其他在根之后只有一个参数的路由。因此,如果我转到 url "/users",路由将假定它是一个通配符并将其发送到另一个控制器,该控制器返回字符串 "This is {wildcard} page!",Brainfreez! :P

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    • 2016-07-23
    • 2015-09-26
    • 1970-01-01
    相关资源
    最近更新 更多