Ruby on rails 如何将在联系方式中上传的pdf文件作为附件发送至邮件发送人

Ruby on rails 如何将在联系方式中上传的pdf文件作为附件发送至邮件发送人,ruby-on-rails,ruby,Ruby On Rails,Ruby,请原谅我的问题 我想发送pdf文件上传在联系方式作为附件的邮件 class ContactPagesController < ApplicationController def new @contact_page = ContactPage.new end def create @contact_page = ContactPage.new(contact_page_params) if @contact_page.save c

请原谅我的问题

我想发送pdf文件上传在联系方式作为附件的邮件

  class ContactPagesController < ApplicationController
  def new
   @contact_page =  ContactPage.new
   end

   def create
    @contact_page = ContactPage.new(contact_page_params)
   if    @contact_page.save

     contact_page = @contact_page

     ContactMailer.contact_email(contact_page).deliver_now
     flash[:notice]="we have recieved your details successfully"
     redirect_to root_path
    else

     if @contact_page.errors.any?
    flash[:notice]= "Please fill all the manditory fields"
    end
     render :new
    end
  end

  private
    def contact_page_params
      params.require(:contact_page).permit( :name, :email, :phone, :messsage, :document)
    end
  end
class ContactPagesController
我的邮递员

    class ContactMailer < ApplicationMailer
     default to: 'sss@mail.com'


    def contact_email(contact_page)
            @contact_page = contact_page
          mail(from: 'sss@mail.com', subject: 'Recieved A Contact Enquery')
        end
       end
class ContactMailer
联系_email.html.erb

    <td ><%= @contact_page.email %></td>
    <td ><%= @contact_page.phone %></td>
    <td ><%= @contact_page.name %></td>
    <td ><%= @contact_page.messsage %></td>

电子邮件已成功触发。如何将文档作为电子邮件附件发送

非常感谢您的帮助。提前谢谢

试试这个:

def contact_email(pdf,email,contact_page)
   @contact_page = contact_page
    mail(to: email,
    subject: "Recieved A Contact Enquery")
    mail.attachments['test.pdf'] = { mime_type: 'application/pdf;  charset=UTF-8 ;', content: pdf } 

                               OR

    mail.attachments['test.pdf'] = File.read('path/to/file.pdf')
 end
试试这个:

def contact_email(pdf,email,contact_page)
   @contact_page = contact_page
    mail(to: email,
    subject: "Recieved A Contact Enquery")
    mail.attachments['test.pdf'] = { mime_type: 'application/pdf;  charset=UTF-8 ;', content: pdf } 

                               OR

    mail.attachments['test.pdf'] = File.read('path/to/file.pdf')
 end

感谢您的快速回复。文档是表单中提交的一个数据属性,每次提交新联系人表单时,该属性都会在控制器中显示为白名单。@suresh是否存储pdf文件?是的,我可以成功保存数据和pdf。@suresh Replace
def contact\u email(contact\u page)@contact\u page=contact\u page mail(收件人:@contact_page.email,主题:“received A contact Enquery”)mail.attachments['test.pdf']={mime_type:'application/pdf;charset=UTF-8;',content:@contact_page.document}end
用此回复您的代码您也可以这样做:
def contact_email(contact_page)@contact_page=contact_page附件[”#{@contact_page.document_file_name}]=file.read(“{@contact_page.document.path}”)邮件(发件人:'sss@mail.com,主题:“收到联系人查询”)结束
感谢您的快速响应。文档是表单中提交的一个数据属性,每次提交新的联系人表单时,它都会在控制器中显示为白名单。@suresh是否存储pdf文件?是的,我可以成功保存数据和pdf。@suresh Replace
def contact_电子邮件(contact_页面)@contact\u page=contact\u page mail(收件人:@contact\u page.email,主题:“收到联系人查询”)mail.attachments['test.pdf']={mime\u type:'application/pdf;charset=UTF-8;',content:@contact\u page.document}end
用此回复您的代码您也可以这样做:
def contact\u email(contact\u page)@contact_page=contact_page附件[“#{@contact_page.document_file_name}”]=file.read(“#{@contact_page.document.path}”)邮件(发件人:'sss@mail.com,主题:“收到联系人查询”)结束