J'utilise link_to img tag comme suit
<%= link_to image_tag("Search.png", :border=>0, :class => 'dock-item'),
:action => 'search', :controller => 'pages'%><span>Search</span></a>
Ce qui a pour conséquence de suivre html
<a href="/pages/search"><img alt="Search" border="0" class="dock-item"
src="/images/Search.png?1264132800" /></a><span>Search</span></a>
Je veux que la classe = "dock-item" aille à la balise <a>
au lieu de la balise img.
Comment puis-je changer cela?
Mettre à jour:
<%= link_to image_tag("Search.png", :border=>0), :action => 'search',
:controller => 'pages', :class => 'dock-item' %>
résulte en
<a href="/pages/search?class=dock-item"><img alt="Search" border="0"
src="/images/Search.png?1264132800" /></a>
salut tu peux essayer
link_to image_tag("Search.png", border: 0), {action: 'search', controller: 'pages'}, {class: 'dock-item'}
ou même
link_to image_tag("Search.png", border: 0), {action: 'search', controller: 'pages'}, class: 'dock-item'
notez que la position des accolades est très importante, car si vous les manquez, Rails assumera qu’ils ne forment qu’un seul paramètre de hachage (en savoir plus à ce sujet ici )
et selon le api pour link_to :
link_to(name, options = {}, html_options = nil)
j'espère que ça aide! =)
En ajoutant simplement que vous pouvez transmettre à la méthode link_to
un bloc:
<%= link_to href: 'http://www.example.com/' do %>
<%= image_tag 'happyface.png', width: 136, height: 67, alt: 'a face that is unnervingly happy'%>
<% end %>
résulte en:
<a href="/?href=http%3A%2F%2Fhttp://www.example.com/k%2F">
<img alt="a face that is unnervingly happy" height="67" src="/assets/happyface.png" width="136">
</a>
Cela a permis de sauver des vies lorsque le concepteur m'a donné des liens complexes avec des effets de renversement fantaisie css3.
Le mieux sera:
link_to image_tag("Search.png", :border => 0, :alt => '', :title => ''), pages_search_path, :class => 'dock-item'
c'est ma solution:
<%= link_to root_path do %>
<%= image_tag "image.jpg", class: "some class here" %>
<% end %>
Facile:
<%= link_to image_tag("Search.png", :border=>0), :action => 'search', :controller => 'pages', :class => 'dock-item' %>
Le premier paramètre de link_to est le texte/html à lier (dans la balise a ). Le prochain ensemble de paramètres est constitué des propriétés de l'URL et des attributs de lien eux-mêmes.
Pour répondre à votre question mise à jour, utilisez http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html ...
Soyez prudent lorsque vous utilisez le style d'argument plus ancien, car un hachage littéral supplémentaire est nécessaire:
link_to "Articles", { :controller => "articles" }, :id => "news", :class => "article"
# => <a href="/articles" class="article" id="news">Articles</a>
Laisser le hachage donne le mauvais lien:
link_to "WRONG!", :controller => "articles", :id => "news", :class => "article"
# => <a href="/articles/index/news?class=article">WRONG!</a>
Tout le :action =>, :controller =>
peu que j'ai vu autour de beaucoup n'a pas fonctionné pour moi.
J'ai passé des heures à creuser et cette méthode a définitivement fonctionné pour moi en boucle.
<%=link_to( image_tag(participant.user.profile_pic.url(:small)), user_path(participant.user), :class=>"work") %>
Ruby on Rails utilisant link_to avec image_tag
De plus, j'utilise Rails 4.
J'ai aussi essayé cela et fonctionne très bien:
<%= link_to home_index_path do %>
<div class='logo-container'>
<div class='logo'>
<%= image_tag('bar.ico') %>
</div>
<div class='brand' style='font-size: large;'>
.BAR
</div>
</div>
<% end %>
Salut les gars, c’est un bon moyen de créer un lien avec l’image et d’avoir de nombreux accessoires au cas où vous voudriez attribuer un attribut CSS, par exemple, remplacer "alt" ou "title", etc.
<%= link_to image_tag("#{request.ssl? ? @image_domain_secure : @image_domain}/images/linkImage.png", {:alt=>"Alt title", :title=>"Link title"}) , "http://www.site.com"%>
J'espère que cela t'aides!
Vous pouvez aussi essayer ceci
<li><%= link_to "", application_welcome_path, class: "navbar-brand metas-logo" %></li>
Où "metas-logo" est une classe css avec une image de fond
<%= link_to root_path do %><%= image_tag("Search.png",:alt=>'Vivek',:title=>'Vivek',:class=>'dock-item')%><%= content_tag(:span, "Search").html_safe%><% end %>