Rails file_field_tag没有上传文件

gtr*_*32x 9 file-upload ruby-on-rails ruby-on-rails-3

我有一个表格:

<%= form_tag :controller => "foo", :action => "boo", :multipart => true do %>
    <%= file_field_tag "foo[bar]" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

当我提交它时,param foo[bar]给出"foo[bar]"=>"filename.png"而不是ActionDispatch对象.

有人有任何线索可能是什么原因在这里?

谢谢!

gtr*_*32x 18

解决了.需要将form_tag行更改为:

<%= form_tag ({:controller => "foo", :action => "boo"}), :enctype =>"multipart/form-data" do %>
    <%= file_field_tag "foo[bar]" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

  • 请注意,使用`form_for`,`multipart:true`应该嵌套:`form_for(something,html:{multipart:true})`. (8认同)
  • 或者`multipart:true` (3认同)