如何将用户网址输入显示为缩略图?

时间:2013-03-29 09:50:35

标签: html ruby-on-rails url

我想从用户处获取图片网址,并在提交时在同一页面中显示该图片的缩略图 以下是我从用户那里获取网址的方式

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

但我想显示一个缩略图。我该怎么做?

1 个答案:

答案 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)。它的文档非常好,所以我不会在这里深入探讨如何使用它。