【问题标题】:Laravel 4 - Blade Templating - How to properly Link to Route?Laravel 4 - 刀片模板 - 如何正确链接到路线?
【发布时间】:2014-05-10 05:15:24
【问题描述】:

我想用 Laravel 创建一个资源丰富的链接。 通常我只使用{{ link_to_route('Yadayadayada.route', 'LinkName', $params }}

但在这种情况下,我使用的是具有这种布局的模板:

<a href="index.html">
     <i class="icon-dashboard"></i>
     <span class="menu-text"> Dashboard </span>
</a>

这意味着在锚标记内部,还有一个&lt;i&gt;-Tag 和一个&lt;span&gt;-Tag。 是否可以使用{{ link_to_route }}-Method,而无需更改模板的布局?

【问题讨论】:

    标签: php html laravel laravel-4 blade


    【解决方案1】:

    {{ link_to_route('dashboard', 'Dashboard', '', array('class'=>'body')) }}

    【讨论】:

      【解决方案2】:

      刀片中没有使用路由的方法:

      1.使用操作

      {{URL::action('DemoController@index',$params)}}
      

      2。使用路线

      {{ URL::route('route/', $params) }}
      

      3.使用网址

      {{ URL::to('route/name', $params)) }}
      

      【讨论】:

        【解决方案3】:

        使用 URL::route() 获取链接:

        <a href="{{ URL::route('user/profile/', $params) }}">
             <i class="icon-dashboard"></i>
             <span class="menu-text"> Dashboard </span>
        </a>
        

        【讨论】:

          【解决方案4】:

          如果你路由使用闭包,你可以使用URL::to(),像这样

          <a href="{{ URL::to('home/otherpage', $params) }}">
              <i class="icon-dashboard"></i>
              <span class="menu-text"> Dashboard </span>
          </a>
          

          正如@orrd 所建议的,一般来说使用命名路由会更好,所以以后可以很容易地更改 URL:

          <a href="{{ URL::route('routeName', $params) }}">
              <i class="icon-dashboard"></i>
              <span class="menu-text"> Dashboard </span>
          </a>
          

          (参考:https://laravel.com/docs/5.0/helpers#urls

          【讨论】:

          • 最好尽可能使用命名路由,而不是在代码中的多个位置重复 URL(这样您以后可以在需要时轻松地在一个位置更改 URL)。
          • @orrd 没错,我已经用你的建议更新了回复
          【解决方案5】:

          如果您定义了路线名称,您可以在刀片中使用它:

           Route::get('/admin/transfer/forms-list', [
              'as'   => 'transfer.formsList',
              'uses' => 'Website\TransferController@IndexTransferForms'
          ]);
          

          现在您可以像这样在刀片中使用它:

          <a href="{{URL::route('transfer.formsList')}}"  type="submit">
                              discard</a>
          

          【讨论】:

            【解决方案6】:

            使用URL::route() 获取链接:

            <a href="{{ URL::route('user/profile/', $params) }}">
                 <i class="icon-dashboard"></i>
                 <span class="menu-text"> Dashboard </span>
            </a>
            

            【讨论】:

            • 非常感谢您的快速解答。
            • 我怎样才能为破坏函数使用相同的技术?我尝试了 href="{{ route('shops.destroy', $row->id ) }}" data-method="delete" 但我将我重定向到 show() !!!!
            • @Dr.MAF - href="{{ route('shops.destroy', $row-&gt;id).'?_method=delete' }}"
            • @Dr.MAF 你必须包含来自github.com/rails/jquery-ujs项目的javascript文件rails.js(如果你想从laravel维护它,使用github.com/efficiently/jquery-laravel)。然后使用您在评论中写的内容。
            猜你喜欢
            • 2018-04-17
            • 2013-06-03
            • 2013-06-01
            • 2014-11-18
            • 2013-05-08
            • 2014-04-26
            • 2014-11-19
            • 2014-06-06
            • 2013-04-29
            相关资源
            最近更新 更多