我在索引(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'
想法是在视图中读取文件,然后对他做一些事情,而不是将其保存在数据库中,然后返回上一页。
但是当我测试它时,我上传文件时收到“没有这样的文件或目录”错误。
任何想法?,我做错了什么?
答案 0 :(得分:5)
您应该向multipart
添加form_tag
选项:
<%= form_tag(upload_pieces_path, multipart: true) do %>
<%= file_field_tag 'data' %>
<%= submit_tag %>
<% end %>