ruby-on-rails - 读入文件内容rails

标签 ruby-on-rails ruby-on-rails-3 json

我有一个表单正在尝试读取 JSON 文件以进行解析/操作/等。我在 Controller 中读取它时遇到问题。

查看:

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

    <%= file_field_tag 'datafile' %>

<%= submit_tag "Upload" %>

Controller :

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|  

关于ruby-on-rails - 读入文件内容rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12589973/

相关文章:

ruby-on-rails - 没有要加载的文件 -- factory_girl

ruby-on-rails - 尝试将UserMailer包含到我的 Controller 中时出现语法错误

ruby-on-rails - 旧 Rails 应用程序出现奇怪的 Rails 错误 "permission denied: bin/rails"

ruby-on-rails - 在 Rails 中将 XML 字符串转换为哈希值

ruby-on-rails - 使用 String#split 方法

ruby-on-rails - 编辑 paper_trail 版本而不创建新版本

ruby-on-rails - 我可以使用正则表达式从 URL 中提取域吗?

Python从网页解析表格

java - Json 对象项目顺序

javascript - 使用多维 JSON 填充表的有效方法