当我尝试保存上传的文件时,我得到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中读取。如果是这样,如何更改文件名生成规则?
如果没有,那就是问题的原因?
答案 0 :(得分:3)
这是几个最新版本的回形针(explained here)的一个问题。我也遇到了这个问题,直到我将回形针设置回3.0.4版本才能再次使用。
所以只需将它放在Gemfile中,直到修复程序发布:
gem 'paperclip', '3.0.4'