【问题标题】:Laravel Route Is not working because of Generic routeLaravel Route 由于通用路由而无法正常工作
【发布时间】:2014-08-11 16:11:12
【问题描述】:

我是 Laravel 的新手,只学习基本的东西。我正在尝试创建一个新路由来将用户创建到数据库中。所以我创建了一个这样的路线 -

Route::get('users/"create"', 'PagesController@create');

但我也有一条路线供尝试访问其个人资料的用户使用-

Route::get('users/{username}', 'PagesController@show');

现在,当我尝试访问用户/创建时,它会将我重定向到显示方法而不是控制器中的创建方法。我猜这是因为用户/{用户名}的通用性质。所以我的问题是如何处理这种情况。

【问题讨论】:

标签: laravel-4 laravel-routing


【解决方案1】:

定义路由的顺序很重要。如果您像这样定义路线 - 按此顺序,它将起作用。

Route::get('users/create', 'PagesController@create'); 
Route::get('users/{username}', 'PagesController@show');

注意 - 我注意到你使用了 'users/"create"' - 这是一个错误 - 它应该是 'users/create' 就像我的例子一样。

附言确保您不允许用户名为“create”的用户 - 否则他们将永远无法访问他们的个人资料页面。

【讨论】:

  • 感谢它的工作。但出于好奇,还有其他方法可以解决此类错误。正如在另一篇文章中指出的那样,如果用户名是消息怎么办?
  • 是的 - 使用不同的路线 - 比如users/show/{username}
猜你喜欢
  • 1970-01-01
  • 2018-01-17
  • 2017-10-15
  • 2013-09-22
  • 2016-12-05
  • 1970-01-01
  • 2017-03-23
相关资源
最近更新 更多