Ruby on rails link_to资产中的图像

时间:2017-09-11 15:02:46

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

我确定有很多这样的帖子但是经过检查后我找不到任何人回答我的问题。 我正试图将图片放在"app/assets/images/levers/I.a.1.png"link_to像这样:

<%= 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.

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

更多信息

我不确定是否重要,但我正在使用&#34; Bash on Windows上的Ubuntu&#34;从我的窗户10(在工作中)看到一切可能。

3 个答案:

答案 0 :(得分:0)

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

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

然后,在导轨视图中,您可以将link_toasset_path

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

答案 1 :(得分:0)

您可以将一个块传递给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

你应该好好去。

答案 2 :(得分:0)

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