0

当我尝试保存上传的文件时,我得到了 nil:NilClass 的未定义方法`split'

@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 中读取。如果是这样,如何更改文件名生成规则?

如果不是,那是问题的原因吗?

4

1 回答 1

3

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

所以只要把它放在你的 Gemfile 中,直到修复发布:

gem 'paperclip', '3.0.4'
于 2012-07-02T14:47:15.330 回答