ruby – Carrierwave – 处理图像时出错
发布时间:2020-12-17 03:27:08 所属栏目:百科 来源:网络整理
导读:问题是在mongoids上抛出以下错误保存!行动. Mongoid::Errors::Validations: Validation failed - Img failed to be processed.~/.rvm/gems/ruby-1.8.7-p249/gems/mongoid-2.0.0.rc.7/lib/mongoid/persistence.rb:234:in `fail_validate!'~/.rvm/gems/ruby-1
问题是在mongoids上抛出以下错误保存!行动.
Mongoid::Errors::Validations: Validation failed - Img failed to be processed. ~/.rvm/gems/ruby-1.8.7-p249/gems/mongoid-2.0.0.rc.7/lib/mongoid/persistence.rb:234:in `fail_validate!' ~/.rvm/gems/ruby-1.8.7-p249/gems/mongoid-2.0.0.rc.7/lib/mongoid/persistence.rb:75:in `save!' ./app.rb:29:in `POST /upload' 设置主要是以下内容: require "sinatra" # 1.1.2 require "mongoid" # 2.0.0.beta.19 require "rmagick" # 2.12.2 require "carrierwave" # 0.5.1 require "carrierwave/orm/mongoid" require 'carrierwave/processing/rmagick' .... Mongoid.database = Mongo::Connection.new('somehost',1234).db('test') class Uploader < CarrierWave::Uploader::Base include CarrierWave::RMagick storage :file def store_dir "uploads" end process :resize_to_fit => [80,80] end class Image include Mongoid::Document mount_uploader :img,Uploader end .... post '/upload' do @img = Image.new @img.img = params[:file] @img.save! redirect '/' end 故障是处理中的某个地方: process :resize_to_fit => [80,80] 如果我删除此行.一切都按预期工作. 解决方法
好.我没有足够深入地跟踪这些痕迹:
问题是ImageMagick中缺少jpeg-delegate. 所以自然处理jpeg文件失败了. 解决方案是从源重新安装ImageMagick. 当Mongoid抛出一个从载波调用的错误时它仍然非常不透明,因为它从Imageagagick触发的RMagick中获取错误. 仍然.回顾展很明显:-) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |