Ruby on Rails使用link_to和image_tag

时间:2011-01-10 04:31:34

标签: ruby-on-rails ruby-on-rails-3

我有以下内容:

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

这可能吗?

3 个答案:

答案 0 :(得分:34)

你在哪里提供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") %>

您不应该依赖空哈希作为第二个参数,而是明确提供单击图像时要转到的路径。

答案 1 :(得分:6)

上述答案对我没有用。也许是不同版本的rails?

我使用的是Rails 4,这很有效:

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

答案 2 :(得分:0)

在Rails 6中:

<%= link_to root_path do %>
  <%= image_tag("A_logo_black.png", alt: 'Logo',class: 'h-16')%>
<% end %>

routes.rb文件中定义了根路径的位置:

Rails.application.routes.draw do
  root to: 'dashboard#index'
end