【问题标题】:How do I give an image a link如何给图片提供链接
【发布时间】:2013-06-28 04:13:36
【问题描述】:

我的 Rails 应用程序中的一个资源有一个 URL 属性(字符串)。该资源还具有图像属性,因此我想将 url 附加到该图像上。我该怎么做?

<div class="box">
<%= link_to (image_tag retailer.image(:medium)), retailer %>

<p class="description">
    <%= retailer.description %>
</p>

<p>
    <%= link_to 'Edit', edit_retailer_path(retailer) %>
    <%= link_to 'Destroy', retailer, method: :delete, data: { confirm: 'Are you sure?' } %>
</p>

我想将retailer.url 中的链接(字符串)添加到图片中,以便我点击它!

我尝试将第二行代码中的最后一个“retailer”参数替换为“retailer.url”,但没有成功。使用此代码单击它只会将我带到该资源的显示页面。

感谢您的帮助。

【问题讨论】:

  • 你看到了什么错误信息?
  • 能否请您提供整个表单代码?您是否从控制器获得了 retailer 的任何实例?
  • 因此,J. Crew 中此特定零售商实例中的零售商。其 url 属性下的字符串是“www.jcrew.com”。当我将retailer.url 作为link_to 的第二个参数时,我得到这个“没有路由匹配[GET]”/www.jcrew.com“”。我怎样才能阻止它试图找到它的路径,而只是将字符串中的文本用作常规网址?

标签: ruby-on-rails image hyperlink add


【解决方案1】:

试试这个

<%= link_to " #{image_tag(image_tag retailer.image(:medium))}", "link_path" %>

【讨论】:

  • 这不起作用,图片现在不会显示。作为参考,这个盒子 div 应该代表 web 应用程序上的 pin 外观对象。该图钉是零售商的,其中包括其徽标、描述和编辑/销毁链接。当我单击徽标(即图片)时,我希望它使用其属性之一,称为“url”,其中包含指向零售商网站的链接字符串。我用 url 替换了您示例中的链接,但我没有设置链接属性的路由,因为它没有显示页面。当我点击它时,我得到“没有路线匹配 [GET]”/url_path”。有什么提示吗?
【解决方案2】:

我相信图像源需要像这样在parathesis里面。

<%= link_to image_tag("/assets/104_white.png"), users_path(@user)%>

所以你的情况是:

<%= link_to image_tag(retailer.image(:medium)), retailer %>

【讨论】:

    猜你喜欢
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 2015-01-15
    • 2021-08-04
    相关资源
    最近更新 更多