我有一个表单正在尝试读取 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/