正如您从图片中看到的,我有一个上传 csv 文件的按钮。 我如何将上传的文件获取到 file.read(PATH) 以便脚本接收该文件。
我的 Controller (calls_controller.rb)
def index
csv_text = File.read(UPLOADED FILE PATH)
csv = CSV.parse(csv_text, :headers => true, :encoding => 'ISO-8859-1', :col_sep => ',')
...
..
end
我试图给我的索引方法一个参数
def index(file)
但这对我不起作用。
这是我的观点(index.html.erb)。 我在submit_tag中调用了该方法,但是我可以以某种方式传递一个参数或吗?
<div>
<h4>Import data!</h4>
<%= form_tag import_calls_path, multipart: true do %>
<%= file_field_tag :file, required: true %>
<%= submit_tag "Import CSV", method: :index%>
<% end %>
</div>
最佳答案
当您上传具有类似于您问题中的表单的文件时,以下操作应该有效:
File.read(params[:file].tempfile.path)
或者更简单:
params[:file].read
关于ruby-on-rails - 将上传的文件路径传递给 File.read(path),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60338561/