我是初学者,试图在我的rails视图中加载一些图像。当我尝试从资源中的images文件夹加载图像时,我在视图上看到一个损坏的图像图标,并在控制台中看到ActionController::RoutingError (No route matches [GET] "/assets/images/pp1.JPG")
。从公用文件夹加载图像时不会发生这种情况。我怎样才能从images文件夹中调用图像 - 这是我用<a>
标签调用它的方式吗?任何澄清将非常感谢!
我对该观点的看法是:
<% provide(:title, "Imágenes") %>
<div class="container">
<h1>Imágenes</h1>
<p>Clic en la imagen para abrir en una pestaña nueva.</p>
<div class="gallery">
<div class="row">
<div class="col-lg-3">
<a href="pp1.JPG" target="_blank">
<img src="pp1.JPG" alt="alt 1" width="200px" class="img-thumbnail">
</a>
</div>
<div class="col-lg-3">
<a href="peppe2.jpg" target="_blank">
<img src="peppe2.jpg" alt="alt 2" width="200px" class="img-thumbnail">
</a>
</div>
<div class="col-lg-3">
<a href="peppe3.jpg" target="_blank">
<img src="peppe3.jpg" alt="alt 3" width="200px" class="img-thumbnail">
</a>
</div>
<div class="col-lg-3">
<a href="peppe4.jpg" target="_blank">
<img src="peppe4.jpg" alt="alt 4" width="200px" class="img-thumbnail">
</a>
</div>
</div> <!---row1 ends -->
<div class="row">
<div class="col-lg-3">
<a href="peppe5.jpg" target="_blank">
<img src="peppe5.jpg" alt="alt 5" width="200px" class="img-thumbnail">
</a>
</div>
<div class="col-lg-3">
<a href="peppe6.jpg" target="_blank">
<img src="peppe6.jpg" alt="alt 6" width="200px" class="img-thumbnail">
</a>
</div>
<div class="col-lg-3">
<a href="peppe7.jpg" target="_blank">
<img src="peppe7.jpg" alt="alt 7" width="200px" class="img-thumbnail">
</a>
</div>
<div class="col-lg-3">
<a href="peppe8.jpg" target="_blank">
<img src="peppe8.jpg" alt="alt 8" width="200px" class="img-thumbnail">
</a>
</div>
</div> <!---row2 ends -->
</div>
</div>
第一张图片(pp1.JPG)位于images文件夹中,不加载;其他人都在公共文件夹中,并加载。
答案 0 :(得分:1)
使用image_tag
。它会为您创建<img src= ... >
位。
要回答关于您当前代码未找到文件的原因的问题,image_tag
会在src
路径前添加/assets/
作为默认值,因此您最终会像<img src='/assets/peppe3.png/'>
这样的东西。如果您愿意,可以将文件路径传递给image_tag
以覆盖它。更多信息:http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html#method-i-image_tag
答案 1 :(得分:1)
HTML
<div class="col-lg-3">
<%= link_to image_path('pp1.JPG'), target: '_blank' do %>
<%= image_tag('pp1.JPG', alt: 'alt 1', class: 'img-thumbnail my-class') %>
<% end %>
</div>
...etc...
CSS
.my-class {
width: 200px;
}