require 'config/environment'
inquiry = Inquiry.find(:all, :conditions => ["is_answered = 0"])
inquiry.each do |i|
question = i.question
user = User.find(:first, :conditions => ["id = ?", question.user_id])
Notifier.deliver_deadline_notification(inquiry, user, question)
end
テーブルinquiry
(関係テーブル)はis_answered
フィールド(たとえば)です。アクションヘルプMAIL
私は何が必要ですか?私の質問にNOT answered
(is_answered = 0
)の電子メールを送る必要があります。だから、今、このように動作します:(iのデータベースに1つの質問と回答されていない2人のユーザーを持っているので)私は2
メールを受け取った:
id | question_id | is_answered
14 | 11 | 0
24 | 11 | 0
、私はONLY ONE EMAIL
ない2を受信する必要があります!電子メールで私は質問に関するいくつかの統計を書いてみたいです。しかし、私は1つのEMAILが必要です!どうすればできますか?
ありがとうございました!
------------------ UPD -----------------
model/notifier.rb
def deadline_notification(inquiry, user, question, respondent)
recipients user.email
from "[email protected]"
subject "Finished"
content_type "text/html"
body(:question => question.text, :respondent => respondent.email)
end
model/inquiry
class Inquiry < ActiveRecord::Base
belongs_to :question
belongs_to :respondent
has_one :answer, :dependent => :destroy
model/question
class Question < ActiveRecord::Base
has_many :inquiries, :dependent => :destroy
has_many :answers, :through => :inquiries, :dependent => :destroy
belongs_to :user
end
model/respondent
class Respondent < ActiveRecord::Base
has_many :inquiries, :dependent => :destroy
has_many :questions, :through => :inquiries
belongs_to :user
end
model/user
class User < ActiveRecord::Base
has_many :questions
has_many :respondents
TODO:見つけます回答者70人(正確には誰でも)と、回答者70人が回答したME電子メール(私は100人の回答者と70人の回答があります)答えた。必ず1つのEメールを送信してください!
PS - 今私は(答えていません)30通の電子メールを受け取ったが、私はそれが間違っていると思う:あなたがここでやろうとしているが質問に答えていないすべてのユーザーを見つけることであるようにD
助けてくれてありがとう。私は自分の投稿を更新しました。ありがとうございました! –