ruby-on-rails – 什么可能导致这个rails ioerror关闭流?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 什么可能导致这个rails ioerror关闭流?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个rails应用程序,在开发模式下运行(带有sqlite数据库).该应用程序的目的是允许用户通过 Java客户端上载文件.

如果用户想要上传文件夹,则会以递归方式上传其中的所有文件.如果用户想要上传文件,则文件将正常上传.

这是我收到的错误

  1. IOError
  2.  
  3. in UploadedFilesController#new
  4.  
  5. closed stream

这是应用程序跟踪:

  1. /usr/lib/ruby/1.8/tempfile.rb:167:in `close'
  2. /usr/lib/ruby/1.8/tempfile.rb:167:in `callback'
  3. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/vendor/builder-2.1.2/blankslate.rb:85:in `call'
  4. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/vendor/builder-2.1.2/blankslate.rb:85:in `method_added'
  5. app/controllers/uploaded_files_controller.rb:114
  6. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in `load_without_new_constant_marking'
  7. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in `load_file'
  8. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
  9. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:202:in `load_file'
  10. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:94:in `require_or_load'
  11. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:248:in `load_missing_constant'
  12. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:453:in `const_missing'
  13. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:465:in `const_missing'
  14. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/inflector.rb:257:in `constantize'
  15. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/core_ext/string/inflections.rb:148:in `constantize'
  16. /var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/routing.rb:1426:in `recognize'
  17. /var/lib/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:78:in `service'
  18. /var/lib/gems/1.8/gems/rails-2.0.2/lib/commands/servers/webrick.rb:66
  19. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
  20. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
  21. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
  22. /var/lib/gems/1.8/gems/rails-2.0.2/lib/commands/server.rb:39

这是框架跟踪:

  1. /usr/lib/ruby/1.8/tempfile.rb:167:in `close'
  2. /usr/lib/ruby/1.8/tempfile.rb:167:in `callback'
  3. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/vendor/builder-2.1.2/blankslate.rb:85:in `call'
  4. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/vendor/builder-2.1.2/blankslate.rb:85:in `method_added'
  5. /var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:170:in `handle_request'
  6. /var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in `dispatch'
  7. /var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi'
  8. /var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch'
  9. /var/lib/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:112:in `handle_dispatch'
  10. /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
  11. /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
  12. /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
  13. /usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
  14. /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
  15. /usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
  16. /usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
  17. /usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
  18. /usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
  19. /usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
  20. /var/lib/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:62:in `dispatch'
  21. /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
  22. /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
  23. /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
  24. /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
  25. script/server:3

这是完整的痕迹:

  1. /usr/lib/ruby/1.8/tempfile.rb:167:in `close'
  2. /usr/lib/ruby/1.8/tempfile.rb:167:in `callback'
  3. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/vendor/builder-2.1.2/blankslate.rb:85:in `call'
  4. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/vendor/builder-2.1.2/blankslate.rb:85:in `method_added'
  5. app/controllers/uploaded_files_controller.rb:114
  6. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in `load_without_new_constant_marking'
  7. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in `load_file'
  8. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
  9. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:202:in `load_file'
  10. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:94:in `require_or_load'
  11. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:248:in `load_missing_constant'
  12. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:453:in `const_missing'
  13. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:465:in `const_missing'
  14. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/inflector.rb:257:in `constantize'
  15. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/core_ext/string/inflections.rb:148:in `constantize'
  16. /var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/routing.rb:1426:in `recognize'
  17. /var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:170:in `handle_request'
  18. /var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in `dispatch'
  19. /var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi'
  20. /var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch'
  21. /var/lib/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:112:in `handle_dispatch'
  22. /var/lib/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:78:in `service'
  23. /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
  24. /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
  25. /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
  26. /usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
  27. /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
  28. /usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
  29. /usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
  30. /usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
  31. /usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
  32. /usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
  33. /var/lib/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:62:in `dispatch'
  34. /var/lib/gems/1.8/gems/rails-2.0.2/lib/commands/servers/webrick.rb:66
  35. /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
  36. /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
  37. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
  38. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
  39. /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
  40. /var/lib/gems/1.8/gems/rails-2.0.2/lib/commands/server.rb:39
  41. /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
  42. /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
  43. script/server:3

我不知道为什么会发生这种情况……客户端会在出现此错误之前上传大约15-30个文件(从文件夹到Java客户端).我正在运行Rails 2.0.2.我是否正在使用sqlite作为数据库在开发模式下运行这一事实?任何帮助将不胜感激 !

多谢你们 !

解决方法

我想我已经弄清楚了,至少我认为我做了(客户端现在继续上传,没有错误). 从上传文件中读取数据后,您还应该关闭它.谁曾想到? :P

猜你在找的Ruby相关文章