102 votes

À l'aide de link_to intégré dans le HTML

Je suis à l'aide de Twitter Bootstrap trucs et j'ai le code HTML suivant:

<a class="btn" href="<%= user_path(@user) %>"><i class="icon-ok icon-white"></i> Do it@</a>

Quelle est la meilleure façon de le faire dans les Rails? Je voudrais utiliser <%= link_to 'Do it', user_path(@user) %> mais l' <i class="icon-ok icon-white"></i> est en me jetant?

Merci à l'avance!!!!!!

264voto

Veraticus Points 10078

Deux façons. Soit:

<%= link_to user_path(@user) do %>
  <i class="icon-ok icon-white"></i> Do it@
<% end %>

Ou:

<%= link_to '<i class="icon-ok icon-white"></i> Do it@'.html_safe, user_path(@user) %>

16voto

Eric Farkas Points 121

J'ai eu le même besoin récemment. Essayez ceci:

<%= link_to '<i class="icon-ok icon-white"></i> Do it'.html_safe, user_path(@user) %>

11voto

Renshuki Points 1

Vous avez également la possibilité de créer une méthode d'assistance comme ci-dessous:

def link_fa_to(icon_name, text, link)
  link_to content_tag(:i, text, :class => "fa fa-#{icon_name}"), link
end

Adapter les cours à vos besoins.

8voto

Justin Herrick Points 1590

Si vous voulez un lien dans les rails qui utilise la même classe d'une icône de twitter bootstrap tout ce que vous devez faire est de quelque chose comme cela.

<%= link_to "Do it@", user_path(@user), :class => "btn icon-ok icon-white" %>

6voto

eveevans Points 2137

Dans le joyau de twitter bootstrap-rail : ils créer un helper glyphe

  def glyph(*names)
    content_tag :i, nil, :class => names.map{|name| "icon-#{name.to_s.gsub('_','-')}" }
  end

De sorte que vous pouvez l'utiliser comme: glyph(:twitter) et vous vous liez helper pourrait ressembler à: link_to glyph(:twitter), user_path(@user)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X