2011-01-10 20 views
17

Tengo el siguiente:Ruby on Rails utilizando link_to con image_tag

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

que emite el siguiente:

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

quiero la clase de "trabajo" para ser una clase para el a href no un parámetro de consulta, por lo que debería verse así:

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

¿Esto es posible?

Respuesta

31

¿Dónde está proporcionando el HREF, la ruta que debe recuperarse cuando alguien hace clic en la imagen? link_to está siendo amable y asume que es la ruta actual. Idealmente, proporcionaría, el camino como la segunda opción para link_to.

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

Usted no debe confiar en un hash vacío como el segundo parámetro, pero proporcionan explícitamente la ruta que desea ir a cuando se hace clic en la imagen.

5

La respuesta anterior no funcionó para mí. Tal vez una versión diferente de los rieles?

estoy usando los carriles 4 y esto trabajado:

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