2011-01-29 24 views

Trả lời

42

Bạn có thể sử dụng mẫu khối link_to cho rằng:

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

đoạn của bạn trông giống như một liên kết tĩnh, rằng sẽ không bao giờ thay đổi khi được dịch bởi Rails; Tôi cho rằng tính năng lưu của nó sẽ chèn HTML thô vào chế độ xem của bạn.

Tuy nhiên:

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

Reference.

3

Làm việc sau đây cho tôi. Tôi không biết tại sao các đoạn mã khác lại không (phiên bản ruby ​​khác nhau?).

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

Cách đơn giản nhất để làm điều đó là sử dụng html_safe hoặc liệu chức năng

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

hoặc sử dụng chức năng thô (đề nghị)

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

đơn giản vì nó có thể nhận được !!

Không sử dụng phương thức html_safe trừ khi bạn chắc chắn chuỗi của mình không phải là không. Thay vào đó, sử dụng phương thức raw(), nó sẽ không đưa ra một ngoại lệ trên nil.

+0

này nên là câu trả lời chấp nhận! – hailton

1

Để thêm vào câu trả lời của Jeremy - cho một con đường, như vậy:

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