2011-01-10 17 views
17

Ho il seguente:Ruby on Rails utilizzando link_to con image_tag

<%=link_to(image_tag(participant.user.profile_pic.url(:small)), :class=>"work") %> 

che emette il seguente:

<a href="/xxxx/308?class=work"><img alt="xxxx" src="xxxxx"></a> 

voglio la classe "lavoro" per essere una classe per il a href non una query param, quindi dovrebbe essere simile a:

<a href="/xxxx/308" class="work"> 

è possibile?

risposta

31

Dove stai fornendo l'HREF, il percorso che deve essere recuperato quando qualcuno fa clic sull'immagine? link_to è gentile e presuppone che sia il percorso corrente. Idealmente, fornirebbe il percorso come seconda opzione per il collegamento a.

<%=link_to(image_tag(participant.user.profile_pic.url(:small)), :class=>"work") %> 

<%=link_to(image_tag(participant.user.profile_pic.url(:small)), user_path(participant.user), :class=>"work") %> 

Non si dovrebbe fare affidamento su un hash vuota come secondo parametro, ma fornire esplicitamente il percorso che si desidera andare a quando si fa clic sull'immagine.

5

La risposta di cui sopra non ha funzionato per me. Forse una versione diversa di rotaie?

sto usando Rails 4 e questo ha funzionato:

<%= link_to (image_tag (participant.user.profile_pic.url (:small)), class: 'work'), user %>