nnn*_*867 0 ruby file-upload ruby-on-rails filepath ruby-on-rails-4
我在索引(pieces_path)中有这个
<%= form_tag (upload_pieces_path) do%>
<%= file_field_tag 'data' %>
<%= submit_tag %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
而这在片段控制器中
def upload
file_data = params[:data]
File.read(file_data, 'r') do |file|
file.each do |line|
## .... ##
end
end
redirect_to pieces_path
end
Run Code Online (Sandbox Code Playgroud)
最后的路线
match '/upload_pieces', to: 'pieces#upload', via: 'post'
Run Code Online (Sandbox Code Playgroud)
想法是在视图中读取文件,然后对他做一些事情,而不是将其保存在数据库中,然后返回上一页.
但是当我测试它时,我上传文件时收到"没有这样的文件或目录"错误.
有什么想法吗?我做错了什么?
你应该添加multipart选项form_tag:
<%= form_tag(upload_pieces_path, multipart: true) do %>
<%= file_field_tag 'data' %>
<%= submit_tag %>
<% end %>
Run Code Online (Sandbox Code Playgroud)