2011-01-10 17 views
17

Ich habe folgendes mit link_to:Ruby on Rails mit image_tag

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

die folgenden gibt das:

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

ich die Klasse wollen "Arbeit" eine Klasse für die a href nicht zu sein ein Abfrageparameter, so sollte es aussehen:

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

ist das möglich?

Antwort

31

Wo bieten Sie die HREF, den Pfad, der abgerufen werden muss, wenn jemand auf das Bild klickt? link_to ist nett und nimmt an, dass es der aktuelle Pfad ist. Im Idealfall würden Sie den Pfad als zweite Option für link_to bereitstellen.

<%=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") %> 

Sie sollten nicht auf einem leeren Hash als zweiten Parameter verlassen, sondern bieten explizit den Pfad, den Sie gehen wollen, wenn Bild geklickt wird.

5

Die obige Antwort hat nicht für mich funktioniert. Vielleicht eine andere Version von Schienen?

Ich bin mit Rails 4 und das funktionierte:

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