Поэтому я использую vpim для экспорта контактной информации и вместо того, чтобы просто экспортировать vcf, перенаправить его на новую страницу и просто показать vcard в html
вот мой класс контроллера
class VcardController < ApplicationController
def view
@user = Employee.find_by_id(params[:id])
puts @user
@card = Vpim::Vcard::Maker.make2 do |maker|
maker.add_name do |name|
name.prefix = ''
name.given = @user.first_name
name.family = @user.last_name
end
if(!@user.mobile_phone.blank?)
maker.add_tel(@user.mobile_phone){ |e| e.location = 'cell'}
end
if(!@user.work_phone.blank?)
maker.add_tel(@user.work_phone){ |e| e.location = 'work'}
end
if(!@user.home_phone.blank?)
maker.add_tel(@user.home_phone){ |e| e.location = 'home'}
end
if(!@user.home_email.blank?)
maker.add_email(@user.home_email) { |e| e.location = 'home' }
end
if(!@user.work_email.blank?)
maker.add_email(@user.work_email) { |e| e.location = 'work' }
end
end
send_data @card.to_s, :filename => @user.last_name+"_contacts.vcf"
end
end
и вот как я называю контроллер
<%= link_to "Export Contacts", vcard_view_path(id: @employee.id), class: "btn btn-default btn-clear btn-spacing", role: "button" %>
Я не хочу, чтобы ссылка перенаправляла вас на новую страницу, просто начните загрузку. Идеи?