【问题标题】:Adding different image to serve as thumbnail than the original one in Rails在 Rails 中添加与原始图像不同的图像作为缩略图
【发布时间】:2016-10-07 12:37:42
【问题描述】:
我正在开发一个(游戏化)Rails 项目,在该项目中,每个用户都可以根据特定标准分配多个徽章。同样,我需要制作一个通用模块来上传新徽章,每个徽章有 2 个不同版本(而不是同一图像的不同分辨率),一个用于主仪表板,一个用作其他地方的缩略图。
实现这一点的最佳方式是什么,可能使用paperclip 之类的东西,以便可以像这样访问这些图像:
<%= image_tag @user.avatar.url %>
<%= image_tag @user.avatar.url(:thumb) %>
或类似的东西?
【问题讨论】:
标签:
ruby-on-rails
ruby
paperclip
【解决方案1】:
我正在使用这个 gem CarrierWave
您可以使用自定义大小在类中定义版本
class MyUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
process resize_to_fit: [800, 800]
version :thumb do
process resize_to_fill: [200,200]
end
end
并像这样在视图中调用它
uploader.url # => '/url/to/my_file.png' # size: 800x600
uploader.thumb.url # => '/url/to/thumb_my_file.png' # size: 200x200