Доступ к загрузке файла без сохранения файла, а затем отправка его по электронной почте в виде вложения - PullRequest
4 голосов
/ 12 января 2012

Я пытаюсь создать форму, которая будет отправлять электронное письмо с вложением с помощью Action Mailer.Я не использую модель для поддержки загружаемого объекта.Я хотел бы прикрепить файл непосредственно к сообщению, не сохраняя его на жестком диске сервера.В моем контроллере:

def create
    attachment = params[:attachment].read
    ApplicationRequestMailer.send_application_to_be_entered(current_user.member, attachment).deliver
    render :nothing => true
end

В моем почтовике:

class ApplicationRequestMailer < ActionMailer::Base

    def send_application_to_be_entered(member, file)
        attachment[file.origional_name] = file.read
        mail(:to => 'test@test.com', :subject => "To Be Entered")
    end

end

Есть ли способ сделать это?или мне нужно сначала сохранить файл, используя что-то вроде скрепки?

1 Ответ

4 голосов
/ 16 марта 2012

Не уверен, что это полностью правильно, но работает:

def create
    ApplicationRequestMailer.send_application_to_be_entered(params[:application].read(), params[:application].original_filename).deliver
    redirect_to dashboards_path, :notice => "Request Sent."  
end


def send_application_to_be_entered(file, filename)
    attachments[filename] = file
    mail(:to => 'test@test.com', :subject => "Application To Be Entered")
end
...