ruby-on-rails - Carrierwave 重新创建版本

标签 ruby-on-rails ruby-on-rails-4 carrierwave rmagick

我正在使用carrierwave 和rmagick 来处理我的图片上传。我现在向 image_uploader.eb 添加了一个新版本(smallthumb):

class ImageUploader < CarrierWave::Uploader::Base

  include CarrierWave::RMagick
  storage :file

  def store_dir
    "uploads/images"
  end

  version :thumb do
    process :resize_to_fill => [250, 250]
  end

  version :smallthumb do
    process :resize_to_fill => [70, 70]
  end

  def extension_white_list
    %w(jpg jpeg gif png)
  end
end

我有一个名为“image”的模型,安装了图像上传器:
class Image < ActiveRecord::Base
  attr_accessible :date, :description, :name, :size, :image, :article_ids
  has_and_belongs_to_many :articles
  mount_uploader :image, ImageUploader
end

我读过我需要调用 recreate_versions!,但我不明白我需要在哪里调用这个操作以及如何调用。我在公共(public)/上传/图像中的实时服务器上有我的图像。如何重新创建所有这些图像的版本(在我的开发机器和实时服务器上),以便我也拥有该图像的 smallthumb 版本?

最佳答案

Image.all.each { |i| i.image.recreate_versions! }

关于ruby-on-rails - Carrierwave 重新创建版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21233836/

相关文章:

c++ - 在 Rails 应用程序中在线编译 C++

ruby-on-rails - 参数中的字符串操作[ :something]

ruby-on-rails - Rails 4 搜索多个参数

ruby-on-rails - 重定向后 session 丢失

mysql - 使用 mysql 数据库将 Ruby on Rails 应用程序部署到 Heroku

carrierwave - 轨道/载波 : nil values saved after upload image by carrierwave, minimagick

ruby-on-rails - 样式 tag_list 类来自 Acts as Taggable On

ruby-on-rails - bundle 和 bundle 更新有什么区别?

ruby-on-rails - 保存到模型时绕过 Carrierwave 上传程序

ruby-on-rails - Carrierwave gem 安全文件路径无法读取文件错误