Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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 Can´;t使用minimagick Rails打开活动存储映像附件_Ruby On Rails_Ruby On Rails 5_Rails Activestorage_Minimagick - Fatal编程技术网

Ruby on rails Can´;t使用minimagick Rails打开活动存储映像附件

Ruby on rails Can´;t使用minimagick Rails打开活动存储映像附件,ruby-on-rails,ruby-on-rails-5,rails-activestorage,minimagick,Ruby On Rails,Ruby On Rails 5,Rails Activestorage,Minimagick,我到处找都没找到 因此,我使用活动存储来处理我的模型图像 我的产品型号如下: class Product < ApplicationRecord has_one_attached :image def set_average_color image = MiniMagick::Image.open(Rails.application.routes.url_helpers.rails_blob_url(self.image, only_path: true)) im

我到处找都没找到

因此,我使用活动存储来处理我的模型图像

我的产品型号如下:

class Product < ApplicationRecord
  has_one_attached :image

  def set_average_color
    image = MiniMagick::Image.open(Rails.application.routes.url_helpers.rails_blob_url(self.image, only_path: true))
    image.resize("1x1")
    red, blue, green = image.get_pixels[0][0]
    update(average_color: hex_value(red, blue, green))
  end
类产品
所以基本上我想用图像平均颜色的十六进制值保存一个属性
average\u color

我的问题是,当尝试使用
rails\u blob\u url
使用MiniMagick从活动存储中打开映像时,出现以下错误:

Errno::enoint:没有这样的文件或目录@rb\u sysopen

我一直在尝试使用
rails\u blob\u path
,但没有结果。(顺便说一句,我所有的产品对象都附有一张图片)

哪种方法是访问模型附带的图像并将其传递给miniMagick的正确方法

附加问题:有没有办法在每次我的图像更改时调用
set\u average\u color

非常感谢

MiniMagick::Image.read(Image.download)