Ruby on RailsアプリケーションでRoRメーラーを実装しましたが、うまくいきました。しかし私の驚いたことに、メールが送信されるたびに、が届かない私の送られた電子メールに、私のデータベーステーブルの他の属性が入力されます。私の問題のdiagramaticビューを持っているRails Mailer messed up
、は、このメーラープレビュー画像を参照してください。
モデル(job.rb)
class Job < ActiveRecord::Base
def self.jobs_posted_12hrs_ago
where.not('stripeEmail' => nil).where.not('payola_sale_guid' => nil).where('created_at > ?', Time.now - 12.hours)
end
end
アプリ/メーラー/ job_notifier.rb
class JobNotifier < ApplicationMailer
def send_post_email(job)
@user = User.where(:email => true).all
emails = @user.collect(&:email).join("#{';'}")
@jobs = job
@job = job
mail(:to => emails, :bcc => User.pluck(:email).uniq, :subject => 'New job posted on FarFlungJobs')
end
end
電子メールテンプレート/ビュー(send_post_email.html.erb)
私は私の範囲を反復し、ちょうどとび名、役職、および日付を埋めました。電子メールがプレビュー/送信されると、データベース内の他の属性にその属性が設定されます。
<!DOCTYPE html>
<html>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<div>
<h3> Hi, new job just posted on FarFlungJobs.com! </h3>
</div>
<section>
<p>Fresh Job</p>
<hr>
<p>
<% jobs = Job.jobs_posted_12hrs_ago %>
<%= jobs.each do |job| %>
<section class="container">
<div class="row jobs">
<div class="col-md-4" style="font-size: 20px;"><strong><%= job.company_name %></strong></div>
<div class="col-md-4" style="font-size: 20px;"><%= link_to(job.title, job) %></div>
<div class="col-md-4 text-right" style="font-size: 20px; float: left;"><%= job.created_at.strftime('%d %B %y') %></div>
</div>
<%= render 'shared/two_breaks'%>
</section>
<% end %>
</p>
<p>Thanks for subscribing to FarFlungJobs once again. <%= jobs_url %> </p>
</section>
</body>
</html>
私はいけない、すべてを追加する代わりにそれを、私ははちょうど私の電子メールテンプレートで指定された属性が送信されてきたを確認するために何ができますか?それが仕事である各ステートメントの結果を出力します=ので<%の
<%= jobs.each do |job| %>
:
'shared/two_breaks'は内容に何がありますか?そのコンテンツを出力している人のようです – casraf
ちょうど
というタグがあります。私はちょうど間隔を達成するためにそれを使用した。 –