0

这是带有 url 链接的照片的 ruby​​ 脚本。

<%= if property.images[0] then
      link_to image_tag (property.images[0].image.url('350x263', :jpg)),                
      user_property_image_path(user, :id => property.images[0], :property_id => property),   

    end -%>

脚本的哪一部分只会显示 url 链接而不显示照片?我试过这个不起作用:

<%= user_property_image_path(user, :id => property.images[0], :property_id => property), 

end -%>
4

3 回答 3

0

这将使用LINK TEXT HERE的链接文本显示它:

<%= if property.images[0] then
      link_to 'LINK TEXT HERE',                
      user_property_image_path(user, :id => property.images[0], :property_id => property)    
    end -%>

如果您希望它是作为链接文本的 URL,请尝试:

<% url = user_property_image_path(user, :id => property.images[0], :property_id => property) %>
<%= link_to( url, url ) if property.images[0] -%>
于 2012-10-12T03:37:24.760 回答
0

这:

<% if property.images[0] %>
  <%= link_to user_property_image_path(user, :id => property.images[0], :property_id => property) do %>
    <%= image_tag (property.images[0].image.url('350x263', :jpg)) %>
  <% end %>
<% end %>

达到与您的第一个示例相同的结果。HTML 锚标记需要内部内容,可以是文本,也可以是更多的 html 标记,如 img 标记。因此,呈现锚标记的 link_to 方法将接收内部文本作为其第一个参数,或者您可以将内部内容插入其块中,如上例所示,如果认为可链接的内容更复杂,这将派上用场.

总结一下,你不能只渲染链接。您需要向此链接添加内容。

于 2012-10-12T07:54:45.670 回答
0

这只会呈现链接(没有图像,并且没有重复指定 URL 两次):

<%= link_to( nil, user_property_image_path(user,
                                           :id => property.images[0],
                                           :property_id => property)) -%>

(您可以将 nil 作为第一个参数传递,它只会链接生成的 URL。

于 2012-10-12T08:57:31.233 回答