上传文件,而不是这样的文件或目录 - rails 4

时间:2014-02-18 19:06:59

标签: ruby-on-rails ruby file-upload ruby-on-rails-4 filepath

我在索引(pieces_path)中有这个

<%= form_tag (upload_pieces_path) do%>
  <%= file_field_tag 'data' %>
  <%= submit_tag %>
<% end %>

这是在棋子控制器中

def upload
  file_data = params[:data]
  File.read(file_data, 'r') do |file|

     file.each do |line|
       ## .... ##
     end

   end
   redirect_to pieces_path
end

最后路线

match '/upload_pieces', to: 'pieces#upload', via: 'post'

想法是在视图中读取文件,然后对他做一些事情,而不是将其保存在数据库中,然后返回上一页。

但是当我测试它时,我上传文件时收到“没有这样的文件或目录”错误。

任何想法?,我做错了什么?

1 个答案:

答案 0 :(得分:5)

您应该向multipart添加form_tag选项:

<%= form_tag(upload_pieces_path, multipart: true) do %>
  <%= file_field_tag 'data' %>
  <%= submit_tag %>
<% end %>