有人问了这个问题,但没有给出答案...我遇到了同样的问题。
我正在使用carrierwave来上传文件,在我想创建大拇指之前,一切都很好
图像直接保存在tmp中,但保持相同大小...
我的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)时,会出现以下错误:
Version thumb doesn't exist!
下面是我的模型设置
class Post < ActiveRecord::Base
attr_accessible :comments, :frame, :title, :twitter, :avatar
belongs_to :user
mount_uploader :avatar, AvatarUploader
end
我可以看到已经创建了一个tmp目录,但是图像没有调整大小...我已经安装了imagemagick和rmagick ...
谢谢
最佳答案
我认为您可能要重新创建版本,因为在上传其他文件后可能已经为某些图像创建了拇指大小。
image.avatar.url(:thumb)
上面的语法很好
要重新创建版本,请尝试运行
image.avatar.recreate_versions!
在所有头像上,您可能会丢失。
关于ruby-on-rails - 载波拇指问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10544598/