0

refile gem を使用してドキュメントをアップロードしています。アップロードされたドキュメントは、電子メールで一部の受信者に送信されます。

1) refile で保存されたドキュメントを添付ファイルとしてメールに追加するにはどうすればよいですか? それ以下では機能していません

私はDBに次のものを持っています:

commented_id, varchar
commented_filename, varchar
commented_size, varchar
commented_content_type, varchar

添付ファイル:

@revisions.each do |revision|
  mail.attachments["#{revision.file_filename}"] = File.read(revision.file)
end

エラー: Refile::File から文字列への暗黙的な変換はありません

2) ストア ファイルの場所を動的に変更できますか?

4

1 に答える 1

0

#read を File クラス メソッドとして使用するのではなく、ファイルに対して read を直接呼び出すことで、application_mailer.rb ファイル内のオブジェクトから個別にメーラーにファイルを添付することができました。私は Rails で ActionMailer を使用しています。メーラー メソッドは次のようになります。これは、db で説明されているようにファイルが添付されrevisionているデータベース オブジェクトであると仮定します。commented

def send_mailer(revision)
   @revision = revision

   attachments["filename_here"] = @revision.commented.read
   mail(to: "email@email.com", subject: "Here's your file!")
end

ActionMailer も使用しているかどうかはわかりませんが、使用している場合は、これでうまくいく可能性があります。

于 2016-08-19T18:20:54.677 に答える