Я поставил file_field
на мой взгляд:
<% form_for(:uploaded_file, @feed, :url => {:action=>'copy'}, :html=> {:multipart=>true}) do |f| %>
<%= f.file_field :uploaded_file %> <br>
<%= f.submit "Submit" %>
<% end %>
И у меня в контроллере есть метод, который читает файл Excel:
def copy
file = ""
book = Spreadsheet.open 'excel_file'
table = book.worksheet 'excel_sheet'
table.each do |row|
file << row
end
end
Журнал с запросом
"authenticity_token"=>"BbQRomTLhiF2O54/G6eHwnnaWbLttUSvo31FO3ZtKoA=",
"uploaded_file"=>{"uploaded_file"=>#<ActionDispatch::Http::UploadedFile:
0x27b7ab0 @original_filename="test.xlsx",@content_type="application
/vnd.openxmlformats-officedocument.spreadsheetml.sheet", @headers=
"Content-Disposition: form-data; name=\"uploaded_file[uploaded_file]\";
filename=\"volumetrie.xlsx\"\r\nContent-Type: application/vnd.openxmlformats
officedocument.spreadsheetml.sheet\r\n", @tempfile=#<File:C:/DOCUME~1/me/
LOCALS~1/Temp/RackMultipart20110714-524-fy6vu>>}, "commit"=>"Submit"}
Я просто пытаюсь получить путь к выбранному файлу, чтобы вставить его в метод Spreadsheet.open. Сообщение об ошибке: Нет такого файла или каталога.
Вместо 'excel_file'
, который является путем к моему файлу Excel, я хотел бы использовать путь к файлу, который я выбрал в file_field
в моем представлении. Как я могу использовать этот параметр?
Спасибо!