2012-05-09 12 views
6

Quiero añadir un icono a un botón en Ruby on Rails. Actualmente He intentado lo siguiente:Adición icono Bootstrap para botón en Ruby on Rails

<%= button_to raw("<i class=\"icon-arrow-up\"></i>"), 
{:controller => 'events', :action => "upvoteEvent", :method => "put", 
:id => @event.id, :uid => current_user.id}, 
{:class => "btn btn-success"}%> 

que produce el código HTML siguiente:

<form action="/events/upvoteEvent?id=17&amp;method=put&amp;uid=7" class="button_to" method="post"><div><input class="btn btn-success" type="submit" value="<i class="icon-arrow-up"></i>" /><input name="authenticity_token" type="hidden" value="FsVUPiYl0cK666pn8hqo6AU9/HK0CweZ/nsXqwOWZzU=" /></div></form> 

He seguido la solución publicado aquí: https://stackoverflow.com/a/10468935/1385324, pero no va a funcionar para mí. También probé que Bootstrap CSS funciona, simplemente insertando un icono en cualquier otro lugar del sitio.

¡Gracias por cualquier ayuda!

+0

No se puede establecer un icono para un ayudante 'button_to'. Sería requieren que llame a '' .html_safe' o cruda() 'pero eso no es posible, por lo que yo sé ya que la cadena tiene que llamar en isnt accesible. –

Respuesta

-5

Gracias por su ayuda chicos, terminaron con la modificación de mi propia html-salida que hizo el trabajo:

<form action="/events/upvoteEvent?id=<%= @event.id.to_s%>&amp;method=put&amp;uid=<%= current_user.id.to_s%>" class="button_to" method="post"> 
    <button type="submit" value="upvote" class="btn btn-success"> 
     <i class="icon-arrow-up"></i> 
    </button> 
</form> 
0

Si nos fijamos en la parte inferior derecha de esta page on the Twitter Bootstrap website, se dará cuenta de que hay algunos botones con iconos en ellos. A continuación, puede ver la fuente para ver cómo lo han hecho, diría que sería un gran punto de partida.

1

Si estás en busca de un enlace que se parece a un botón, se puede hacer algo como esto:

<%= link_to 'Upvote <i class="icon-arrow-up"></i>', 'events/upvote', class: 'btn btn-success' %> 

Si desea utilizarlo para un formulario, se podría hacer algo como esto con button_tag , submit_tag, o f.submit.

<%= submit_tag 'Upvote <i class="icon-arrow-up"></i>', html: { class: 'btn btn-success' } %> 
12

También puede probar esto:

<%= link_to 'Upvote <i class="icon-arrow-up"></i>'.html_safe, 'events/upvoteEvent', class: => 'btn btn-success' %> 

o para una botón de envío verdadero, esto:

<%= button_tag(:type => 'submit', :class => 'btn btn-success') do %> 
Upvote <i class="icon-up-arrow icon-white"></i> 
<% end %> 
0

A be Una manera más limpia y clara sería:

= link_to 'events/upvoteEvent', class: => 'btn btn-success' do 
    Upvote 
    <i class="icon-arrow-up"></i>'.html_safe