这是带有网址链接的照片的红宝石脚本。
<%= 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 -%>
答案 0 :(得分: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] -%>
答案 1 :(得分: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方法将接收内部文本作为其第一个参数,或者您可以在其块中插入内部内容,如上所示,如果被认为可链接的内容在某种程度上更复杂,则会派上用场。
总结一下,你不仅可以渲染链接。您需要向此链接添加内容。
答案 2 :(得分:0)
这将只渲染链接(没有图像,并且没有冗余地指定URL两次):
<%= link_to( nil, user_property_image_path(user,
:id => property.images[0],
:property_id => property)) -%>
(您可以传递nil作为第一个参数,它只会链接生成的URL。