这个问题被问了,但没有给出答案……我也有同样的问题。
我正在使用carrierwave上传文件,一切都很好,直到我想创建拇指
图像直接保存在临时文件中,但保持相同的大小...
我的avatar_uploader.rb文件如下所示:
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :thumb do
process :resize_to_limit => [200, 200]
end我的观点有以下几点:
<% for image in @posts %>
<%= image_tag image.avatar_url(:thumb) if image.avatar? %>
<%= image.title %>
<% end %>如果我不包含(:thumb),当我包含(:thumb)时,我会看到完整的images...but,我会得到以下错误:
Version thumb doesn't exist!下面是我的模型设置
class Post < ActiveRecord::Base
attr_accessible :comments, :frame, :title, :twitter, :avatar
belongs_to :user
mount_uploader :avatar, AvatarUploader
end我可以看到创建了一个临时目录,但图像没有调整大小...我已经安装了imagemagick和rmagick ...
谢谢
发布于 2012-05-12 15:57:13
我认为你可能想要重新创建版本,因为你可能会在上传一些其他文件后为一些图像创建拇指大小。
image.avatar.url(:thumb)上面的语法很好
要重新创建版本,请尝试运行
image.avatar.recreate_versions!在所有的头像上,你可能都会错过。
发布于 2012-05-11 14:35:22
尝试以下语法之一:
image.avatar.thumb.url
# or
image.avatar.url(:thumb)发布于 2013-05-16 18:43:59
我建议使用
include CarrierWave::MiniMagick而不是
include CarrierWave::RMagick因为他们的情况可能是你没有RMagick的所有依赖库。Thumb版本是使用RMagick或MiniMagick创建的。问题出在你的RMagick上。
https://stackoverflow.com/questions/10544598
复制相似问题