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)