Windows上的Paperclip – 未定义的方法`split’代表nil:NilClass

当我试图保存上传的文件时,我正在为nil获取未定义的方法`split’:NilClass

@user.avatar=params[:user][:avatar] 

这是服务器日志中的错误:

 [32mCommand[0m :: identify -format %wx%h "C:/progs/web/ror_site_1/tmp/Rus220120701-4976-1sky1nn.jpg[0]" [32mCommand[0m :: identify -format %m "C:/progs/web/ror_site_1/tmp/Rus220120701-4976-1sky1nn.jpg[0]" [32mCommand[0m :: identify -format %m "C:/progs/web/ror_site_1/tmp/Rus220120701-4976-1sky1nn.jpg[0]" [32mCommand[0m :: convert "C:/progs/web/ror_site_1/tmp/Rus220120701-4976-1sky1nn.jpg[0]" -resize "300x300>" "C:/progs/web/ror_site_1/tmp/Rus220120701-4976-1sky1nn20120701-4976-a9j1sh" [32mCommand[0m :: file -b --mime "C:/progs/web/ror_site_1/tmp/Rus220120701-4976-1sky1nn20120701-4976-a9j1sh20120701-4976-tm6qoj" [1m[36m (0.0ms)[0m [1mROLLBACK[0m Completed 500 Internal Server Error in 406ms NoMethodError (undefined method `split' for nil:NilClass): app/controllers/users_controller.rb:94:in `block in update' app/controllers/users_controller.rb:93:in `update' 

我想问题是文件名太长(C:/ progs / web / ror_site_1 / tmp / Rus220120701-4976-1sky1nn20120701-4976-a9j1sh20120701-4976-tm6qoj)并且无法在Windows中读取。 如果是这样,如何更改文件名生成规则?

如果没有,那就是问题的原因?

这是几个最新版本的回形针的问题( 在这里解释 )。我也有这个问题,直到我将回形针设置回3.0.4版本它再次起作用。

所以只需将其放入Gemfile中,直到修复程序发布:

 gem 'paperclip', '3.0.4'