Экспорт информации в VCF с Ruby On Rails - PullRequest
0 голосов
/ 06 ноября 2018

Поэтому я использую 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"  %>

Я не хочу, чтобы ссылка перенаправляла вас на новую страницу, просто начните загрузку. Идеи?

...