2012-01-12 16 views
4

アクションメーラーを使用して添付ファイル付きの電子メールを送信するフォームを作成しようとしています。私はアップロードしているオブジェクトをバックアップするためにモデルを使用していません。私は、サーバーのハードドライブに保存することなく、メッセージに直接ファイルを添付したいと思います。私のメーラーでファイルを保存しないでファイルにアクセスし、添付ファイルとして電子メールで送信する

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 => '[email protected]', :subject => "To Be Entered") 
    end 

end 

はこれを行う方法はありますか?または私はclipclipのようなものを使って最初にファイルを保存する必要がありますか?

+1

あなたはその方法を試してみたのですか?私はそれがあなたのデータを2回読んでいることに加えて、うまくいくはずだと思います... – phoet

答えて

4

これは完全に正しいかどうかを確認しますが、それは働いていない:

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 => '[email protected]', :subject => "Application To Be Entered") 
end 
関連する問題