开发者

Can I use a link_to to generate a link with a span inside?

I am basically trying to get 开发者_如何学运维this result:

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

But I don't know how to do this with a link_to in rails 3 ?


You can use the block form of link_to for that:

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


The simplest way to do it is by using html_safe or raw functions

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

or using raw function (recommended)

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

Simple as it can get !!

Don’t use html_safe method unless you’re sure your string isn’t nil. Instead use the raw() method, which wont raise an exception on nil.


Your snippet looks like a static link, that will never change when interpreted by Rails; I suppose its save to insert the raw HTML in your view.

However:

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

Reference.


The following worked for me. I don't know why other pieces of code didn't (different ruby version?).

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


To add to Jeremy's answer - for a path, like so:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜