【问题标题】:Can I use a link_to to generate a link with a span inside?我可以使用 link_to 生成一个内部有跨度的链接吗?
【发布时间】:2011-06-17 19:01:50
【问题描述】:

我基本上是想得到这个结果:

        <a href="#" class="button small-button green-button">
            Log in
            <span class="button-right"></span>
        </a>

但我不知道如何使用 rails 3 中的 link_to 来做到这一点?

【问题讨论】:

    标签: ruby-on-rails hyperlink href link-to


    【解决方案1】:

    您可以使用 link_to 的块形式:

    <%= link_to "#", :class => "button small-button green-button" do %>
      Log in
      <span class="button-right"></span>
    <% end %>
    

    【讨论】:

      【解决方案2】:

      最简单的方法是使用 html_saferaw 函数

      <%= link_to 'Log In<span class="button-right"></span>'.html_safe %>
      

      或使用原始函数(推荐)

      <%= link_to raw('Log In<span class="button-right"></span>') %>
      

      简单到不行!!

      除非你确定你的字符串不是 nil,否则不要使用 html_safe 方法。而是使用 raw() 方法,它不会在 nil 上引发异常。

      【讨论】:

        【解决方案3】:

        你的 sn-p 看起来像一个静态链接,当被 Rails 解释时它永远不会改变;我想它可以保存在您的视图中插入原始 HTML。

        但是:

        <%= link_to("#", :class=>"button small-button green-button") do %>
          Log in
          <span class="button-right"></span>
        <% end %>
        

        Reference.

        【讨论】:

          【解决方案4】:

          以下内容对我有用。我不知道为什么其他代码没有(不同的 ruby​​ 版本?)。

          <%= link_to content_tag(:span, 'Register'), {:action => "register"}, :class=>"button" %>
          

          【讨论】:

            【解决方案5】:

            要添加到 Jeremy 的答案 - 对于路径,如下所示:

                      <%= link_to edit_section_path(@section) do %>
                          Edit
                          <span class="fa fa-list pull-right"></span>
                      <% end %>
            

            【讨论】:

              猜你喜欢
              • 2013-07-07
              • 2013-06-01
              • 1970-01-01
              • 1970-01-01
              • 2018-09-18
              • 2023-03-16
              • 2017-01-07
              • 2014-08-21
              • 1970-01-01
              相关资源
              最近更新 更多