我想从用户处获取图片网址,并在提交时在同一页面中显示该图片的缩略图 以下是我从用户那里获取网址的方式
<%= form_for([@project, @project.uploads.build]) do |f| %>
<div class="field">
<%= f.label :url %><br />
<%= f.text_field :url %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
然后我在同一页面显示网址
<p>
<%= upload.url %> |
<%= link_to 'Delete', [upload.project, upload],
:confirm => 'Are you sure?',
:method => :delete %>
</p>
但我想显示一个缩略图。我该怎么做?
答案 0 :(得分:0)
image_tag是您正在寻找的Rails方法。 (http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html#method-i-image_tag)。只需使用上传的URL作为源。然后,使用:size选项,或在图像标记上设置一个类,并通过CSS处理它的大小。
该方法当然不会调整实际图像的大小,用户的浏览器会下拉较大的文件,然后在浏览器中调整大小。它占用的带宽与全尺寸版本相同,因为它是全尺寸版本。
要对图像进行后期处理并实际调整大小(真正的缩略图),我建议使用CarrierWave Gem(https://github.com/jnicklas/carrierwave)。它的文档非常好,所以我不会在这里深入探讨如何使用它。