我已将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'
非常感谢任何想法。
答案 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