ruby-on-rails - 载波拇指问题

标签 ruby-on-rails imagemagick carrierwave rmagick

有人问了这个问题,但没有给出答案...我遇到了同样的问题。

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

相关文章:

python - ImageFont 的 getsize() 没有得到正确的文字大小?

ruby-on-rails - 如何调试Fog和CarrierWave,将remote_avatar_url设置为facebook个人资料图片导致保存失败,但没有生成错误?

ruby-on-rails - Rails 5 - 并发的大型视频上传和后台 FFMPEG 编码使服务器非常慢

ruby-on-rails - 关于 heroku 上的 ffmpeg 的错误我们很抱歉,但出了点问题。如果您是应用程序所有者,请查看日志以获取更多信息

ruby-on-rails - postgres 数组和 rails 4 erb

ruby-on-rails - ajax 调用期间不保存 Rails session

node.js - 在 graphicsmagick 中从远程流创建 GIF

ruby-on-rails - Ruby 布局继承

ruby-on-rails - 没有主键的 ActiveRecord 模型

PythonMagick ColorSpace 类型