1
これらの関係を持つ求人掲示板で働いています。ユーザーは多くの求人に応募でき、ジョブには多くの応募者(ユーザー)がいます。会社には多くの仕事があります。Rails:ユーザーがジョブに応募したときに会社に電子メール通知を送信
ユーザー:
has_many :applications
has_many :jobs, :through => :applications, :uniq => true
仕事
has_many :applications
has_many :users, :through => :applications
アプリケーション
belongs_to :user
belongs_to :job
会社
has_many :jobs, dependent: :destroy
私は、ユーザーが仕事に応募したときに会社に電子メールを送信する機能を実装したいと思います。
これは私のメーラーである:私は多少の誤差があるobvioulsyユーザーが適用された後、私は会社に電子メールを送信するために変更したり、追加する必要があります
class NotificationMailer < ActionMailer::Base
default from: "[email protected]"
def job_application(company)
@company = company
@job = job
@applications = @job.applications
company = @job.application.company
mail(to: @company.email, subject: 'Ha recibido una postulacion')
end
end
Application.rb
after_create :send_email
def send_email
NotificationMailer.job_application(self.company).deliver
end
仕事に?ありがとう。ジョブモデルへ
おかげで、しかし、開発中のユーザーは、私が「#<アプリケーション:0xaac7150>のために未定義のメソッド '同社の」エラーを得たジョブに適用されたときのコードのためにApplication.rb – hemakesnoise
application.rbではself.companyを参照し、selfは 'Application'であるため、companyというメソッドはありません。実際の修正は、このコードをJobモデルに移動することです。 – Akilas
私はafter_create:send_emailとsend_emailメソッドをApplication.rbで取得しました。アプリケーションが作成されたときにトリガーされた電子メールがジョブではなく、ユーザーはジョブに応募できますが、メールは送信されません。 – hemakesnoise