【问题标题】:Trying link_to image_tag尝试 link_to image_tag
【发布时间】:2018-02-22 05:18:35
【问题描述】:

我想使用 Rails 将图像转换为链接并尝试过:

link_to image_tag("rails.png", alt: "Rails logo"),
        'http://rubyonrails.org/

就像在教程中一样,我正在关注https://www.railstutorial.org/book/ 或者在查看 api 文档之后:

link_to(image_tag("rails.png", alt: "Rails logo"), "http://rubyonrails.org/")

但它不会工作。

TypeError: Cet objet ne gère pas cette propriété ou cette méthode' 这应该意味着对象不处理此方法

感谢您的帮助!

与 image_path 相同的错误(但 image_alt 有效)

【问题讨论】:

  • 在什么情况下不工作?
  • 您的assets/images 文件夹中有rails.png 吗?
  • 是的,我的文件夹中有图片
  • 这些行没问题,没有任何错误,你的错误是从其他块引发的,你需要重构哪个块引发这个错误,你可以从日志中指出
  • 如果我从文件 (home.html.erb) 中删除除这一行之外的所有行,我仍然会收到错误消息,因此我看不到它来自哪个其他块

标签: ruby-on-rails ruby-on-rails-5.1


【解决方案1】:

我不知道,但也许像这样重构后的解决方案

第 1 步从您的页面中删除这些行,例如

link_to image_tag("rails.png", alt: "Rails logo"),
        'http://rubyonrails.org/
link_to(image_tag("rails.png", alt: "Rails logo"), "http://rubyonrails.org/")

并再次刷新您的页面并查看工作没有任何错误?如果是的话下一个

第 2 步使用image_tag 显示唯一的图像

<%= image_tag('rails.png', alt: "Rails logo") %>

再次刷新网页,图像正常显示没有任何错误?如果是的话下一个

第3步link_to应用到image_taglike

<%= link_to image_tag('rails.png', alt: "Rails logo"), 'http://rubyonrails.org/' %>

就是这样,如果任何步骤因错误而中断,则重构此步骤然后继续。

这在我手上工作。

评论后编辑

我相信你的问题是其他原因,但我不知道这是什么原因,我建议你跳过这个问题后继续新课程。

对于这个问题,你可以使用 HTML 来解决这个问题

<a href="http://rubyonrails.org/">
    <img src="/assets/rails.png" alt="Rails logo">
</a>

希望对你有帮助

【讨论】:

  • 第 1 步没问题。但在第 2 步,我再次遇到同样的错误。所以它来自image_tag
  • 可能,但 rails.png 的位置正确,我看不出图像本身有任何问题
  • 确保图像类型正确我的意思是jpgpngsvg 并尝试使用另一个称为重构的图像,并将图像放在assets/images 文件夹中,然后重新启动服务器使用ctrl c 看看发生了什么
  • 任何其他图像、png 或 jpg 都会发生同样的错误
  • 我将继续使用&lt;%= image_alt("rails.png") %&gt;,它适用于我的配置。不明白为什么image_tag 不适合我的 Rails 设置。还是谢谢!
【解决方案2】:
link_to image_tag("rails.png", alt: "Rails logo"), 'http://rubyonrails.org/

可能是你错过的最后一个结束'

在上面添加'并尝试。或尝试以下行,

link_to image_tag("image_path"), "your_link_here"

【讨论】:

  • 这不起作用...当然我用图像替换了image_path,因为它导致了另一个错误。
  • 资产管道中不存在资产“image_path”。
  • 如果一切正常,按照你的说法,然后添加另一个图像并尝试。 (据我说图像名称不匹配)
  • 任何其他图像、png 或 jpg 都会发生同样的错误
【解决方案3】:
link_to your_url do 
  image_tag("image_path")
end

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-09
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
相关资源
最近更新 更多