2010-03-08 5 views
12

Je suis en train de développer des rails et je me demandais s'il y avait des façons simples d'ajouter du style à la commande button_to.Rails - Ajouter un style/une image à button_to

Pouvez-vous ajouter un style à la

<%= submit_tag 'Log in' %> 

ou

<%= button_to "Show Me", {:controller => 'personal', :action => "add" } %> 

Il serait bon de changer la couleur .... Mais point de brownie si quelqu'un peut me dire comment faire un image

Répondre

17

Puisque vous utilisez une image, il n'y a pas de raison d'utiliser button_to au lieu de link_to, "bouton look" sera perdu pour l'utilisateur. Vous pouvez créer une image avec un lien comme ceci:

<%= link_to image_tag("rails.png"), {:controller => 'foo', :action => "bar" } %> 

Si, pour une raison quelconque, vous besoin d'utiliser button_to, vous pouvez lui donner une classe CSS et appliquer certains styles via que:

<%= button_to "Show Me", {:controller => 'personal', :action => "add" }, {:class => "buttonTo" } %> 
+0

Est-ce parce que chaque tag accepte un hachage 'html_options' comme dernier paramètre? C'est coincé dans ma tête pour une raison quelconque. – Tass

+0

C'est correct! Le dernier hachage transmis est fondamentalement converti en propriétés directement sur le noeud DOM résultant. Ici, vous pouvez spécifier des classes, des ID personnalisés ou des styles en ligne. Vous pouvez également ajouter des attributs de données qui peuvent être lus par votre JS! –

6

En plus du pointeur très fin de Mike à l'aide d'un :class prédéfini, vous pouvez également opter pour :style et définir le CSS en ligne. Aide beaucoup si vous voulez définir votre style à la volée:

<%= button_to "Show Me", {:controller => 'personal', :action => "add" }, {:style => "background: #{obj.colourname}" } %>

(. Avec obj étant une instance de modèle qui stocke une valeur de couleur HTML à l'attribut colourname)

Questions connexes