0

我已经从 Rails 3.2.11 降级到 Rails 2.3.11,tempfile当我的 csv 文件上传到服务器时,我无法访问。

当我打电话时它会中断代码

tmppath = csv.tempfile.to_path.to_s

这是我的服务器日志中的跟踪..

Processing YoloController#createByCSV (for 10.1.109.132 at 2013-03-08 10:57:11) [POST]
  Parameters: {"csv"=>#<File:/var/folders/5g/xxxxxxxxx/T/RackMultipartxxxxxxx-xxxxxx-81xb7d-0>}

NoMethodError (undefined method `tempfile' for #<Tempfile:0x10c0f8ce8>):
  app/controllers/yolos_controller.rb:67:in `createByCSV'
  vendor/bundle/ruby/1.8/gems/actionpack-2.3.11/lib/action_controller/base.rb:1333:in `send'

任何想法将不胜感激。

4

1 回答 1

2

从错误和 ruby​​ 1.8 的文档来看。csv已经是一个Tempfile,直接调用路径就可以了:csv.path.to_s

http://ruby-doc.org/stdlib-1.8.7/libdoc/tempfile/rdoc/Tempfile.html#method-i-path

于 2013-03-08T19:22:14.830 回答