Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails carrierwave上载程序的未定义方法过程_Ruby On Rails_Ruby_Imagemagick_Carrierwave_Minimagick - Fatal编程技术网

Ruby on rails carrierwave上载程序的未定义方法过程

Ruby on rails carrierwave上载程序的未定义方法过程,ruby-on-rails,ruby,imagemagick,carrierwave,minimagick,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;但是,我得到了上传程序的错误未定义方法过程 gem文件: gem "fog-google" gem 'carrierwave', github: 'carrierwaveuploader/carrierwave' gem "mini_magick" 上载

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

gem文件:

gem "fog-google"
gem 'carrierwave', github: 'carrierwaveuploader/carrierwave'
gem "mini_magick"
上载器安装在模型上:

mount_uploaders :avatars, AvatarUploader
该模型具有属性
:头像

avatar\u uploader.rb:(为了清晰起见,删除了注释行)

类AvatarUploader[300300] def刻度(宽度、高度) 处理:调整_的大小以适应=>[400400] 终止 版本:thumb do 处理:调整_的大小以适应=>[50,50] 终止 def扩展白名单 %w(jpg jpeg gif png) 终止 终止 有什么线索吗?

我建议这样做

process :resize_to_fit => [400, 400]
而不是:

process :scale => [300, 300]

def scale(width, height)
  process :resize_to_fit => [400, 400]
end
我建议这样做

process :resize_to_fit => [400, 400]
而不是:

process :scale => [300, 300]

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

尝试
class.process:resize_to_fit=>[400400]
scale
方法中尝试
class.process:resize_to_fit=>[400400]
scale
方法中确实有效;然而,为什么另一种方法不起作用?@jasa我认为在被进程调用之后,在那里调用进程是合法的。我的回答和你想做的相符吗?或者你想做别的事?这确实管用;然而,为什么另一种方法不起作用?@jasa我认为在被进程调用之后,在那里调用进程是合法的。我的回答和你想做的相符吗?还是你想做点别的?