在Rails中使用form_tag上传文件

问题描述

我正在尝试使用Rails的form_tag上传文件(具体来说是CSV文件)。您可以在这里查看我的代码

<%= form_tag({ controller: :jobs,action: :create },multipart: true) do %>
  <%= file_field_tag :file %>
  <%= submit_tag ('Process') %>
<% end %>

当我拖尾开发日志时,这似乎工作正常,如此处所示(通过一小段参数):

Parameters: {"utf8"=>"✓","file"=>#<Actiondispatch::Http::UploadedFile:0x00007f975f0417a0 
@original_filename="test.csv",@content_type="text/csv" ... }

但是,当我在file动作中读取create参数的值时,它是一个字符串,因此无法使用任何访问器方法,例如original_filenametempfile

这是我的创建动作以及加薪的后续结果(再次注意,结果是字符串):

def create
  raise params[:file].inspect
end

=> "#<Actiondispatch::Http::UploadedFile:0x00007f9756e617d0>"

关于为什么返回字符串从而阻止我访问文件内容的任何想法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)