Я участвую в процессе обучения Rails и пытаюсь создать страницу загрузки файлов для обработки CSV-данных без использования моей базы данных или модели. Я также стараюсь избегать использования каких-либо драгоценных камней, таких как Paperclip или Carrier-wave.
Я сделал некоторый прогресс, но по какой-то причине мой код не работает. Я не получаю записи, которые находятся в файле CSV, отображаемом на import.html.erb page.
Когда я нажимаю кнопку "Загрузить" на моей странице: localhost: 3000/upload, она перенаправляет меня должным образом на ожидаемую страницу после отправки, но строки из файла не отображаются.
Кто-нибудь знает, почему страница не отображает записи из файла CSV?
Просмотр файла загрузки (index.html.erb):
<%= form_tag({:action => :import}, multipart: true) do %>
<%= file_field_tag :file %>
<%= submit_tag( "Import" ) %>
<% end %>
Контроллер (upload_controller.rb):
class UploadController < ApplicationController
def index
end
def import
rowarray = Array.new
myfile = params[:file]
CSV.foreach(myfile.path) do |row|
rowarray << row
@rowarraydisp = rowarray
end
end
end
Результат результата (import.html.erb):
<% @rowarraydisp.each do |row| %>
<%= row %>
<% end %>
<h1>File has been uploaded. Check</h1>