ruby-on-rails – carrierwave thumb问题

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – carrierwave thumb问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人提出这个问题,但没有给出答案……我遇到了同样的问题.

我正在使用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 %>

当我不包括(:拇指)时,我看到完整的图像……但是当我包含(:拇指)时,我收到以下错误

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相关文章