我有一个表单试图在
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|