无法在params中找到提交的文件

时间:2017-06-01 05:28:04

标签: ruby-on-rails ruby file-upload parameters

我试图做的就是用Rails解析一个文件,但是我不能把它的生命传递给我的控制器。我甚至无法在提交的参数中显示文件名或路径。

我的表格:

<%= form_tag({url: upload_path}, method: :patch, multipart: true) do %>
  <%= file_field(:user, :csv, :multiple => false, class:"file-field") %>
  <%= submit_tag 'Submit', class:"btn" %>
<% end %>

我的控制器:

def upload
  file = params[:user][:csv] #params[:user] is nil
  #parse file
end

根据rails docs,我认为该文件应该包含在params[:user][:csv]中,但我必须误解一些因为params[:user][:csv]为零,而且#34; user&#34 ;或&#34; csv&#34;出现在参数中的任何地方。

我希望能够获取文件路径,然后使用它来解析文件。我做错了什么?

1 个答案:

答案 0 :(得分:1)

将此用于file_field_tag

<%= file_field_tag('user["csv"]', :multiple => false, class:"file-field") %>

选项应该在名称之后,我不明白是什么:在这种情况下的csv如果:user is name