20

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

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

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

4

5 回答 5

46

您可以使用以下的块形式link_to

<%= link_to "#", :class => "button small-button green-button" do %>
  Log in
  <span class="button-right"></span>
<% end %>
于 2011-01-29T16:09:54.063 回答
4

最简单的方法是使用html_safe原始函数

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

或使用原始函数(推荐)

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

尽可能简单!

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

于 2014-02-11T14:58:19.793 回答
3

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

然而:

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

参考

于 2011-01-29T16:10:31.840 回答
3

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

<%= link_to content_tag(:span, 'Register'), {:action => "register"}, :class=>"button" %>
于 2011-01-30T12:39:43.440 回答
1

添加到杰里米的答案 - 对于路径,如下所示:

          <%= link_to edit_section_path(@section) do %>
              Edit
              <span class="fa fa-list pull-right"></span>
          <% end %>
于 2014-05-31T22:13:29.300 回答