mat*_*wvb 8 json ruby-on-rails ruby-on-rails-3
我有一个表单试图读取JSON文件以解析/ actions/etc. 我在控制器中读取它时遇到问题.
视图:
<%= form_tag({:controller => :admins, :action => :upload_json}, {:multipart => true, :method => :post}) do |f| %>
<%= file_field_tag 'datafile' %>
<%= submit_tag "Upload" %>
Run Code Online (Sandbox Code Playgroud)
控制器:
def upload_json
file_data = params[:datafile]
File.read(file_data) do |file|
file.each do |line|
## does stuff here....
end
end
end
Run Code Online (Sandbox Code Playgroud)
seed.rb当我播种数据时,类似的功能在我的文件中起作用- 只是无法在上传的文件中读取它.
我得到的错误是:can't convert ActionDispatch::Http::UploadedFile into String.
在此先感谢您的帮助!
mat*_*wvb 22
弄清楚了.需要改变:
file_data = params[:datafile]
Run Code Online (Sandbox Code Playgroud)
至
file_data = params[:datafile].tempfile
Run Code Online (Sandbox Code Playgroud)
并决定使用该.open功能进行更改:
File.read(file_data) do |file|
Run Code Online (Sandbox Code Playgroud)
至
File.open(file_data, 'r') do |file|
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13993 次 |
| 最近记录: |