web-dev-qa-db-fra.com

Rails link_to avec style en ligne

Je dois changer une couleur de tag link_to sans utiliser de classe CSS, comment puis-je faire? J'ai essayé quelque chose comme

<%= link_to item.description, {}, {:style=>'color:#FFFFFF;', :class => "css_class"} %>

mais cela ne fonctionne pas sur Ruby 1.9.2 et Rails 3.1

25
Marco

Que diriez-vous

<%= link_to item.description, nil, {:style=>'color:#FFFFFF;', :class => "css_class"} %>

...ou...

<%= link_to item.description, '#', {:style=>'color:#FFFFFF;', :class => "css_class"} %>
32
ksol

Cela devrait fonctionner avec Rails 3

link_to item.description, :style=> 'color:#FFFFFF;', :class => 'css_class'

Avec la nouvelle syntaxe de Rails 4, il devient

link_to item.description, style: 'color:#FFFFFF;', class: 'css_class'
12
Onur Kucukkece

Vous pouvez essayer link_to item.description, {}, {:style => 'color: #FFFFFF'} c'est ok. 

Pour colorer vos liens, vous devez définir plus que color:

a:link { 
  color: #333333;
}
a:visited { 
  color: #FFFFFF;
}
a:hover { 
  color: #CCCCCC;
}
a:active { 
  color: #333333;
}

Je recommande d'utiliser une classe CSS pour cela.

7
tonymarschall

Je souhaite mettre à jour ce sujet car, à cette époque, la syntaxe est différente . Dans Rails 4+, la syntaxe correcte est:

<%= link_to TEXT, URL, class: 'css_class', style: 'color:#FFFFFF' %>
4
DR.Somar

essaye ça:

= link_to name, url, style: 'color:#FFFFFF;'
2
Sherlock

Je suis à peu près sûr que ce code fonctionnera.

<%= link_to "button_name",{:controller => 'controller_name', :action => 'action_name'},{:style=>"color:#fff;"}%>

2
Sobin Sunny

Si vous avez une classe appelée test-color, vous pouvez affecter le sélecteur :hover à cette classe en joignant le nom de la classe et le sélecteur: hover.

Les crochets de classe commencent par un point (.), Les identifiants commencent par un dièse (#)

.test-color:link {
  color: #333333;
}
.test-color:visited {
  color: #FFFFFF;
}
.test-color:hover {
  color: #CCCCCC;
}
.test-color:active {
  color: #333333;
}
1
Adrian Mann

link_to peut être écrit comme

<%= link_to text, path, class: "" %>

Ou

<%= path, class: "" do %>
  <div>
    <!-- Insert HTML here -->
  </div>
<% end %>
0
Cody Elhard