2009-05-14 5 views
0

あなたはデータベースにファイルを保存する方法について言及しています。 アクションメーラーを使用してこれらのファイルをメールに添付するにはどうすればよいですか? 私は多くのサイトを検索しましたが、データベースファイルを添付する方法を見つけることができませんでした。 ファイルシステムに格納されたファイルを添付するのに役立ちます。データベースに保存されているファイルをアクションメーラーに添付するにはどうすればいいですか?

答えて

0

ディスクに保存されている添付ファイルを送信することとあまり変わりありません。

ファイルシステムのファイルに対応するモデルBinaryがあるとします。それはcontent_typedataに応答した場合、このような作業をする必要があります:もちろん

class AttachmentMailer < ActionMailer::Base 
    def attachment(recipient, binary) 
    recipients recipient 
    subject "Your requested file" 
    from "[email protected]" 

    attachment :content_type => binary.content_type, :body => binary.data 
    end 
end 

# Wherever you want to e-mail something: 
binary = Binary.find(:first) 
Notifier.deliver_attachment("[email protected]", binary) 

を、あなたは違ってデータを保存したり、データベース列が異なって命名された場合、あなたは(Binaryクラスのメソッドを調整する必要がある場合上記の例ではクラスを使用しています)。

こちらがお役に立てば幸いです。

+0

ありがとう。 あなたは私の問題をほぼ解決しました。 残りのものは次のとおりです。filename => binary.filename(ここでbinary.filenameはバイナリテーブルを意味し、filenameはfilenameを格納するカラムです)。 これで完了です! –

関連する問題