NoMethodError(未定义的方法`tempfile'...在Rails 2.3.1中

时间:2013-03-08 19:02:05

标签: ruby-on-rails file-upload ruby-on-rails-2 ruby-1.8

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

当我打电话给

时它打破了代码
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'

非常感谢任何想法。

1 个答案:

答案 0 :(得分: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