我在rails(3.2.13)中使用gem paperclip(3.5.1)将图像上传到S3。我需要调整它们的大小,所以我有imagemagick(6.8.6-3 :)并且我在OS X 10.8上。
一切都很好,我能够将图像上传到S3,所以我决定在has_attached_files中添加:thumb和:中等大小的样式。它在测试图像的控制台上工作,但是当我尝试上传相同的图像并将其保存在控制器中时。我收到这个错误:
参数:{“authenticity_token”=>“G15ab7cv9a7N8YT2gMuRSV + DqzNIEDK5 / M + Cno / XLbE =”,“qqfile”=>“test.jpg”,“locale”=>“en”} 用户负载(0.3ms)SELECT“users”。* FROM“users”WHERE“users”。“id”= 1 LIMIT 1 Command :: file -b --mime'./app/assets/images/test.jpg'Command :: identify -format'%wx%h,%[exif:orientation]''/ var / folders / df / lhvn6g596fl5vmpwym6t04c80000gn /T/test20130814-88788-1kazksg.jpg[0]” Command :: identify -format%m'/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' Command :: identify -format%m'/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' Command :: identify -format%m'/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' Command :: convert'/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' - auto-orient -resize“100x100>” '/ var / folders / df / lhvn6g596fl5vmpwym6t04c80000gn / T / test20130814-88788-1kazksg20130814-88788-6efk1m'1777ms完成500内部服务器错误
NoMethodError(未定义的方法`gsub'代表nil:NilClass):
所以它在这一行崩溃了:
@document.original = uploaded_file
但只有当我在 Document.rb :
中有这个时has_attached_file :original, :styles => {:thumb => "100x100>",:small => "150x150>", :medium => "400x400"}
当我离开:styles = {}
时,一切正常,而且它也在控制台上工作,所以我很困惑。我认为它可能是OS X中用于imagemagick的权限。