ruby-on-rails – 读取文件内容rails

我有一个表单试图在 JSON文件中读取解析/ actions / etc.我在控制器中读取它时遇到问题.

视图:

<%= form_tag({:controller => :admins,:action => :upload_json},{:multipart => true,:method => :post}) do |f| %>

    <%= file_field_tag 'datafile' %>

<%= submit_tag "Upload" %>

控制器:

def upload_json

  file_data = params[:datafile]

  File.read(file_data) do |file|

     file.each do |line|
       ## does stuff here....
     end
  end

end

当我播种数据时,类似的功能在我的seed.rb文件中起作用 – 只是无法在上传的文件中读取它.

我得到的错误是:无法将ActionDispatch :: Http :: UploadedFile转换为String.

在此先感谢您的帮助!

解决方法

弄清楚了.需要改变:
file_data = params[:datafile]

file_data = params[:datafile].tempfile

并决定使用.open函数进行更改:

File.read(file_data) do |file|

File.open(file_data,'r') do |file|

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...