使用Ruby On Rails将信息导出到VCF

时间:2018-11-06 13:20:42

标签: ruby-on-rails web web-applications

因此,我使用vpim导出联系人信息,而不是仅导出vcf,而是将其重定向到新页面并仅以html显示vcard

这是我的控制器类

    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"  %>

我不希望该链接将您重定向到新页面,只需开始下载即可。想法?

0 个答案:

没有答案