Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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和Rmagick相应地调整水平和垂直图像的大小?_Ruby On Rails_Ruby_Carrierwave_Rmagick - Fatal编程技术网

Ruby on rails 如何使用carrierwave和Rmagick相应地调整水平和垂直图像的大小?

Ruby on rails 如何使用carrierwave和Rmagick相应地调整水平和垂直图像的大小?,ruby-on-rails,ruby,carrierwave,rmagick,Ruby On Rails,Ruby,Carrierwave,Rmagick,我希望我的应用程序能够分辨水平图像和垂直图像之间的差异,并在用户上传时相应调整大小 我能够让它与minimagick一起工作,但由于某些原因,它与Rmagick的工作方式不同。下面是我用于minimagick的逻辑(在初始化器/carrierwave.rb中) 我需要切换到rmagick以获得我想要使用的一些其他功能 正如您所见,我将模块从minimagick更改为rmagick,并且还包括了适当的gem。这就是我所犯的错误,这让我怀疑我到底做错了什么: undefined method `&g

我希望我的应用程序能够分辨水平图像和垂直图像之间的差异,并在用户上传时相应调整大小

我能够让它与minimagick一起工作,但由于某些原因,它与Rmagick的工作方式不同。下面是我用于minimagick的逻辑(在初始化器/carrierwave.rb中)

我需要切换到rmagick以获得我想要使用的一些其他功能

正如您所见,我将模块从minimagick更改为rmagick,并且还包括了适当的gem。这就是我所犯的错误,这让我怀疑我到底做错了什么:

undefined method `>' for nil:NilClass 
这让我很困惑,因为大于括号显然不是一个类


提前感谢您的帮助

问题是RMagick和MiniMagick有不同的接口。您不能仅仅切换库而期望相同的代码工作

您的错误告诉您问题在于img[:width]为零。这是有道理的,因为img[:width]不是你可以用RMagick做的
img.列
应给出宽度,同样地,
img.行
应给出高度


我建议查看RMagick的文档。

问题在于RMagick和MiniMagick有不同的接口。您不能仅仅切换库而期望相同的代码工作

您的错误告诉您问题在于img[:width]为零。这是有道理的,因为img[:width]不是你可以用RMagick做的
img.列
应给出宽度,同样地,
img.行
应给出高度

我建议查看RMagick的文档

undefined method `>' for nil:NilClass