0

我想从用户那里获取图像 URL,并在提交时在同一页面中显示该图像的缩略图这是我从用户那里获取 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 %>

然后我在同一页面中显示 URL

<p>
  <%= upload.url %>  |

  <%= link_to 'Delete', [upload.project, upload],
            :confirm => 'Are you sure?',
            :method => :delete %> 
</p>

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

4

1 回答 1

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

于 2013-03-29T11:45:56.680 回答