2016-11-14 3 views
0

Я реализовал RoR-почеркер с моим Ruby on Rails Application, и он работал хорошо. Но, к моему удивлению, каждый раз, когда отправляется почта, другие атрибуты из моей таблицы базы данных заполняются в моем отправленном письме, которое я не хочу.Rails Mailer испорчен

Чтобы иметь дного представление о моей проблеме, посмотреть Mailer Предварительный просмотр:

enter image description here

модель (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)

я итерацию по моему объему и заселена только Comapny имя, должность и дата. но когда электронная почта просматривается/отправляется, в нее заносятся другие атрибуты в базе данных.

<!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> 

Что я могу сделать, чтобы убедиться, что я только что указанные атрибуты в моей электронной почты шаблон отправляется только, вместо этого добавить все, что я не хочу?

+0

Что общего означает 'shared/two_breaks' в своем содержании? Кажется, что тот, который выводит этот контент – casraf

+0

Он имеет только
тег. Я использовал его только для достижения интервала. –

ответ

5

Проблема эта линия:

<%= jobs.each do |job| %> 

Из-за <% = это будет распечатать результат каждого оператора, что рабочие места.

+0

Yeap, В этом проблема. Это полный контроль над тем, что я выводил весь мой db, который не был необходим. –