载波上传器的未定义方法过程

时间:2015-11-07 20:40:33

标签: ruby-on-rails ruby imagemagick carrierwave minimagick

我有一个安装Carrierwave上传器的简单模型。 Ruby版本2.2.3,Ruby on Rails 4.2.4,Imagemagick安装在mac(10.11.1 El Capitan)上。安装MiniMagick 4.3.6 gem;但是,我收到 上传器的 未定义方法流程错误。

enter image description here

宝石文件:

gem "fog-google"
gem 'carrierwave', github: 'carrierwaveuploader/carrierwave'
gem "mini_magick"

上传器已安装在模型上:

mount_uploaders :avatars, AvatarUploader

模型具有属性:avatars

avatar_uploader.rb :(为清晰起见,删除了注释行)

class AvatarUploader < CarrierWave::Uploader::Base

  include CarrierWave::MiniMagick

  storage :file

  def store_dir
    'uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}'
  end

  process :scale => [300, 300]

  def scale(width, height)
    process :resize_to_fit => [400, 400]
  end

  version :thumb do
    process :resize_to_fit => [50, 50]
  end

  def extension_white_list
    %w(jpg jpeg gif png)
  end

end

这可能是什么线索?

1 个答案:

答案 0 :(得分:3)

我建议做

process :resize_to_fit => [400, 400]

而不是:

process :scale => [300, 300]

def scale(width, height)
  process :resize_to_fit => [400, 400]
end