【问题标题】:Ruby on rails link_to an image in assetsRuby on rails link_to 资产中的图像
【发布时间】:2018-02-19 21:05:29
【问题描述】:

我确信有很多这样的帖子,但是在检查它们之后,我没有找到任何人来回答我的问题。 我正在尝试使用link_to 获取位于"app/assets/images/levers/I.a.1.png" 的图像,如下所示:

<%= link_to("Biomasa", image_path("levers/I.a.1.png"), :target => "_new") %>

无论我尝试了多少次不同的路径组合,它都不起作用。我收到此错误:

The asset "levers/I.a.1.png" is not present in the asset pipeline.

我有什么遗漏或做错了吗?

更多信息

我不确定是否重要,但我使用“Windows 上的 Ubuntu 上的 Bash”来使我的 Windows 10 上的一切成为可能(在工作中很明显)。

【问题讨论】:

  • 图片名称是什么?是image.png 还是I.a.1.png
  • 是“I.a.1.png”,对不起我最后的解释,我编辑了它以使其更清楚。
  • 尝试asset_path 而不是image_path
  • @Pavan,与asset_path 我得到相同的结果。

标签: ruby-on-rails image hyperlink reference assets


【解决方案1】:

将此配置添加到您的application.rb 以将app/assets/images 中的文件包含到资产管道中

config.assets.paths << Rails.root.join("app", "assets", "images", "levers")

然后,在您的 Rails 视图中,您可以使用 link_toasset_path

<%= link_to root_path, :target => "_blank" do %>
  <%= image_tag asset_path("I.a.1.png") %>
<% end %>

【讨论】:

  • 这样做我也得到相同的结果:/
  • application.rb 中的配置更新后您是否重新启动了服务器?
  • 错过了添加文件夹 'levers' .. 你可以试试这个吗? config.assets.paths &lt;&lt; Rails.root.join("app", "assets", "images", "levers") .. 更新了答案
  • unfontunaly,在那之后我仍然遇到同样的问题
  • 尝试将图像文件名更改为没有太多. 字符(如“logo.png”)的可读文件
【解决方案2】:

您可以将块传递给link_to。试试这个:

<% link_to('/wherever/you/want/to/link-to', :target => '_new') do %>
  <%= image_tag('I.a.1.png', alt: 'Biomasa') %>
<% end %>

图像标签应该自动查找app/assets/images,所以这将添加路径的其余部分。

将此添加到config/initializers/assets.rb

Dir.glob("#{Rails.root}/app/assets/images/**/").each do |path|
  Rails.application.config.assets.paths << path
end

你应该很高兴。

【讨论】:

  • 增加了一点。这适用于我机器上的 Rails 应用程序,所以如果这不能解决它,就会发生其他事情。
  • 好吧,我开始认为还有其他问题,因为这不起作用。问题是我不知道它是什么
  • 可能与图片名称有关。尝试将其更改为1a1.png 并将其放入assets/images,并从图像路径中删除levers/。如果没有显示,请检查浏览器中的图片路径并将链接粘贴到此处
  • 我尝试了这些更改,但仍然得到相同的结果......我无法检查浏览器中的图像路径,因为它没有达到加载,而是我得到了我提到的错误在开始时进行适当的更改
【解决方案3】:

最后我解决了这个问题。问题是我的图像扩展时区分大小写。是.PNG,我正在尝试.png

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多