私は、潜在的な雇用者が会社の仕事に興味を持っているときに、記入して履歴書を添付するという形式があります。提出書類は、添付書類付きの会社代表者に提出されます。電子メールは通過していますが、添付ファイルはドキュメントではなく、正しく構成する方法を理解できません。提出メールには「文書」としか書かれていません。添付ファイルとして電子メールでpaperclipファイルを送信する - Rails
career_mailer.rb
class CareerMailer < ApplicationMailer
default from: "[email protected]"
def career_inquiry(career)
@career = career
attachments['attachment.extension'] = document
mail(to: "[email protected]", subject: "This is just a test from Jay")
end
end
career.rb(モデル)
class Career < ApplicationRecord
has_attached_file :document
validates_attachment_size :document, :less_than => 25.megabytes
validates_attachment_presence :document
validates_attachment_content_type :document, :content_type => ["application/pdf","application/vnd.ms-excel",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"text/plain"]
email_regex = /\A([\w+\-].?)[email protected][a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i
validates :name, :presence => true,
:length => { :maximum => 50 }
validates :subject, :presence => true,
:length => { :maximum => 50 }
validates :phone, :presence => true,
:length => { :maximum => 50 }
validates :email, :presence => true,
:format => {:with => email_regex }
validates :message, :presence => true,
:length => { :maximum => 5000 }
end
careers_controller.rb
class CareersController < ApplicationController
def new
@career = Career.new
end
def show
@career = Career.find(params[:id])
end
def create
# fail
@career = Career.create(career_params)
if @career.save
CareerMailer.career_inquiry(@career).deliver
redirect_back(fallback_location: root_path)
else
flash[:error] = @career.errors.full_messages
redirect_back(fallback_location: root_path)
end
end
private
def career_params
params.require(:career).permit(:name, :phone, :subject, :email, :message, :document)
end
end
UPDATE
私は私のキャリアのメーラーで、次しようとしています:
attachments[career.document.attach_file_name] = File.read(career.document.attach.path)
私は、次のエラーを取得しています:
UPDATE私はまだこれが、私に取り組んでいます2
私が読んだことのすべてに基づいて考えるモデルに保存する前にクリップを引っ張る必要があるので、アップロード方法を理解するためにアップロードした履歴書をn添付ファイル。