1

送信したらメールで連絡するお問い合わせフォームを作成しました。今度は、私にも電子メールで送信されるドキュメントを添付するオプションを用意する必要があります。メールと一緒にダウンロードされるので、データベースに保存する必要はありません。

レールに慣れていないので、この状況で他の人が何をしたかを確認したいのですが、いくつかの読書をして、ほとんどの場合、宝石のペーパークリップが必要になることを確認しますか?また、githubでjquery / paperclipを見たことがありますが、これは小さな作業であると私が望んでいることに対して多くの作業のようです。私はここで間違っている可能性があるので、私が

どんな助けでも大歓迎

4

1 に答える 1

2

あなたがしなければならないことは、carrierwavegemまたはpaperclipgemを使用して、ファイルをパブリックディレクトリの指定されたフォルダにアップロードすることです。送信するファイルを選択するとすぐにファイルをアップロードできるようにするajaxを使用してこれを行います。これにより、添付ファイルをアップロードし、ファイルパスを認識して準備を整えることができるため、[送信]をクリックすると、次のコードが実行され、ファイルを送信できるようになります。サーバーにファイルを蓄積したくない場合は、正常に送信された後にファイルを削除するコード行を追加することもできます。その他のドキュメントはここにあります 。http://guides.rubyonrails.org/action_mailer_basics.html#sending-emails-with-attachments

class ApplicationMailer < ActionMailer::Base
  def welcome(recipient)
    attachments['free_book.pdf'] = File.read('path/to/file.pdf')
    mail(:to => recipient, :subject => "New account information")
  end
end
于 2012-05-23T00:41:16.270 に答える