Как я могу вернуть сгенерированный файл Excel для загрузки, когда link_to remote: true? - PullRequest
0 голосов
/ 22 мая 2019

Мне нужно скачать сгенерированный файл Excel в rails.

Когда пользователь нажимает на ссылку, Excel-файл начинает генерироваться правильно отформатированным в серверной части и возвращается как загружаемый файл. Когда я устанавливаю remote: true в link_to, я ожидаю, что файл будет загружен, но он ничего не возвращает, даже если процесс, генерирующий файл excel, завершен.

Что я могу сделать, чтобы вернуть этот файл при загрузке?

1 Ответ

0 голосов
/ 22 мая 2019

Вы можете сделать это без remote: true по ссылке / кнопке.Если вы измените ссылку / кнопку на:

<%= link_to "Export as CSV", your_thing_path(@your_thing, format: "csv") %>

и добавите в свой контроллер следующее:

respond_to do |format|
  format.csv {
    send_data(render_to_string(layout: false),
    type: 'text/csv; charset=iso-8859-1; header=present',
    filename: "my_export.csv") 
  }
end

Это даст вам тот же результат, что и remote: true, и вы сможетепо-прежнему в очереди от ссылки нажмите, если вам нужен JavaScript уровня представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...