У меня есть приложение Rails 3, которое при нажатии на ссылку для скачивания на клиенте отправляет ajax-запрос на сервер, чтобы динамически сгенерировать файл и отправить его обратно.Сервер сообщает мне, что файл отправляется:
Отправленные данные test.csv (1.4ms)
, но браузер не предлагает мне загрузить файл.Когда я проверяю запрос ajax, я вижу данные, возвращающиеся в ответе.Буду признателен за любую помощь в получении браузера, чтобы побудить пользователя загрузить файл.Ниже мой код:
Вот мой контроллер:
def generate_file
list = List.find(params[:id])
file = ''
list.contacts.all.each do |contact|
file << contact.firstname + ',' + contact.lastname + '\n'
end
send_data file, :filename => list.name + '.csv', :type => 'text/csv'
end
Вот мой код на стороне клиента:
$j('.download').click(function() {
var id = $j(this).attr("id");
$j.ajax({
type: "POST",
url: "/lists/" + id + "/generate_file"
});
});
Вот мои маршруты.rb
resources :contacts
resources :lists do
member do
post 'generate_file'
end
end