Ruby on Rails с помощью link_to with image_tag

У меня есть следующее:

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

который выводит следующее:

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

Я хочу, чтобы класс "work" был классом для параметра href, а не параметра запроса, поэтому он должен выглядеть так:

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

Это возможно?

Ответ 1

Где вы предоставляете HREF, путь, который нужно получить, когда кто-то щелкнет изображение? link_to является добрым и предполагает, что это текущий путь. В идеале вы должны указать путь, как второй вариант 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") %>

Вы не должны полагаться на пустой хеш в качестве второго параметра, но явно укажите путь, по которому хотите перейти, когда нажимается изображение.

Ответ 2

Этот ответ мне не помог. Может быть, другая версия рельсов?

Я использую Rails 4, и это сработало:

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