Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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 main:Object carrierwave的未定义方法“version”_Ruby On Rails_Image Processing_Carrierwave - Fatal编程技术网

Ruby on rails main:Object carrierwave的未定义方法“version”

Ruby on rails main:Object carrierwave的未定义方法“version”,ruby-on-rails,image-processing,carrierwave,Ruby On Rails,Image Processing,Carrierwave,我让carrierwave的上传程序在没有对上传的图像进行任何更改的情况下工作。虽然当我注释掉生成的上传程序文件中的版本块时,我得到了main:Object消息的一个未定义的方法'version' 版本是一个内置的方法,基于谷歌搜索的内容,甚至是railscast视频,我应该能够取消注释并滚动 # Create different versions of your uploaded files: version :thumb do process :resize_to_limit =

我让carrierwave的上传程序在没有对上传的图像进行任何更改的情况下工作。虽然当我注释掉生成的上传程序文件中的版本块时,我得到了main:Object消息的一个未定义的方法'version'

版本是一个内置的方法,基于谷歌搜索的内容,甚至是railscast视频,我应该能够取消注释并滚动

# Create different versions of your uploaded files:
  version :thumb do
    process :resize_to_limit => [313, 344]
  end

我的代码库中发生了什么会导致carrierwave的版本方法出现问题?

错误隐含地表示您的版本方法不在carrierwave uploader的范围内

你的上传器应该是这样的

class Uploader < CarrierWave::Uploader::Base
  version 'anything' do
    ....
  end
end
但根据错误,您的上传程序代码如下:

class Uploader < CarrierWave::Uploader::Base
  ...
end
version 'anything' do
  ....
end
因为您的版本方法在上传程序中不存在。Ruby在尝试执行时考虑将其作为主对象

您还需要确保代码中存在其他一些东西。您的gem文件中必须有rmagick gem。您的开发计算机上安装了imagemagick

在上传程序中包含未注释的CarrierWave::RMagick