Laravel slug 在视图中抛出 href 路由
Laravel slug throwing off href routing in view
我正在使用 blade 模板为我正在处理的项目生成 header。 header视图内部的href路由如下:
<a href="index">Home</a>
<a href="about">About</a>
假设,没有 slug 在url 中提供,上面的 href 值可以正常工作。虽然,当提供 slug 并且当前路线类似于:
localhost/www/public/signup/trial
trial
是 slug,然后 href 最终生成以下 url 并在单击锚点时抛出错误:
localhost/www/public/signup/index
是否有任何解决方案可以在视图之间保持正确的 href 链接,而不管是否提供了 slug?
我已经尝试解决这个问题一段时间了,感谢任何建议,
提前致谢!
只需使用 url()
助手:
<a href="{{ url('index') }}">Home</a>
你应该使用 Laravel URL 生成器来生成 links 等等,它有一些方便的功能和细节,例如 linking 命名路由或控制器操作。
http://laravel.com/docs/4.2/helpers#urls
以下将 link 到名为 admin.index
的路由
<a href="{{ route('admin.index') }}">Home</a>
以下将 link 到控制器动作为 AdminController@index
的路线
<a href="{{ action('AdminController@index') }}">Home</a>
您也可以指定路线所需的参数。
action('AdminController@index', [$model->getKey(), 'SomeValue']);
使用操作或命名路由有一些额外的好处,例如允许您更新应用程序中的 URI,而无需搜索所有视图文件来更新 links,您只需要更新您的 routes.php 一切都已处理。
除了使用 route 或 url helper,您还可以尝试在前面添加 '/'路线,以便到达 url 的根目录。
示例:
<a href="/index">Home</a>
<a href="/about">About</a>
我正在使用 blade 模板为我正在处理的项目生成 header。 header视图内部的href路由如下:
<a href="index">Home</a>
<a href="about">About</a>
假设,没有 slug 在url 中提供,上面的 href 值可以正常工作。虽然,当提供 slug 并且当前路线类似于:
localhost/www/public/signup/trial
trial
是 slug,然后 href 最终生成以下 url 并在单击锚点时抛出错误:
localhost/www/public/signup/index
是否有任何解决方案可以在视图之间保持正确的 href 链接,而不管是否提供了 slug?
我已经尝试解决这个问题一段时间了,感谢任何建议,
提前致谢!
只需使用 url()
助手:
<a href="{{ url('index') }}">Home</a>
你应该使用 Laravel URL 生成器来生成 links 等等,它有一些方便的功能和细节,例如 linking 命名路由或控制器操作。
http://laravel.com/docs/4.2/helpers#urls
以下将 link 到名为 admin.index
<a href="{{ route('admin.index') }}">Home</a>
以下将 link 到控制器动作为 AdminController@index
<a href="{{ action('AdminController@index') }}">Home</a>
您也可以指定路线所需的参数。
action('AdminController@index', [$model->getKey(), 'SomeValue']);
使用操作或命名路由有一些额外的好处,例如允许您更新应用程序中的 URI,而无需搜索所有视图文件来更新 links,您只需要更新您的 routes.php 一切都已处理。
除了使用 route 或 url helper,您还可以尝试在前面添加 '/'路线,以便到达 url 的根目录。
示例:
<a href="/index">Home</a>
<a href="/about">About</a>