【问题标题】:Laravel slug throwing off href routing in viewLaravel slug 在视图中抛出 href 路由
【发布时间】:2015-04-02 22:35:35
【问题描述】:

我正在使用刀片模板为我正在处理的项目生成标题。视图内的header href路由如下:

<a href="index">Home</a>
<a href="about">About</a>

假设在 url 中提供 no slug,则上述 href 值可以正常工作。虽然,当提供 slug 并且当前路线类似于:

localhost/www/public/signup/trial

trial 是 slug,然后单击锚点时 href 最终会生成以下 url 并引发错误:

localhost/www/public/signup/index

是否有任何解决方案可以保持视图之间正确的 href 链接,无论是否提供 slug?

我一直在尝试解决这个问题,并感谢任何建议,

提前致谢!

【问题讨论】:

  • ...href="{{ url('index') }}"... 试试这个。

标签: laravel frameworks routing blade


【解决方案1】:

只需使用url() 助手:

<a href="{{ url('index') }}">Home</a>

【讨论】:

    【解决方案2】:

    您应该使用 Laravel URL 生成器来生成链接等,它有一些方便的功能和细节,例如链接到命名路由或控制器操作。

    http://laravel.com/docs/4.2/helpers#urls

    以下将链接到名为admin.index的路由

    <a href="{{ route('admin.index') }}">Home</a>
    

    以下将链接到具有AdminController@index 控制器操作的路由

    <a href="{{ action('AdminController@index') }}">Home</a>
    

    您也可以指定路线所需的参数。

    action('AdminController@index', [$model->getKey(), 'SomeValue']);
    

    使用操作或命名路由有一些额外的好处,例如允许您更新应用程序中的 URI,而无需搜索所有视图文件来更新链接,您只需要更新您的 routes.php 就可以了处理。

    【讨论】:

      【解决方案3】:

      除了使用 routeurl 帮助器之外,您还可以尝试在路由前添加一个“/”以到达 url 的根目录.

      例子:

      <a href="/index">Home</a>
      <a href="/about">About</a>
      

      【讨论】:

        猜你喜欢
        • 2017-09-18
        • 1970-01-01
        • 2023-04-09
        • 2018-12-21
        • 1970-01-01
        • 2017-09-09
        • 2016-06-18
        • 1970-01-01
        • 2021-06-06
        相关资源
        最近更新 更多