發送電子郵件到特定的用戶這更像是一個概念上的問題,因爲我有我這樣做不對的感覺:邏輯在Rails的
我有電子郵件發送到一些用戶滿足一定的條件。我現在所擁有的是以下幾點:
users = User.includes(:aptitudes).where({:role => ['Boy','boy','kid'], :aptitudes => {:name =>'Good'} })
users.each do |user|
MyMailer.report(user).deliver
end
2)在MyMailer的報告方法,我有幾件事情:
def report(user)
@user = user
@value = @user.value
@travels = @user.travels.where(:end_at)
@rewards = @user.rewards
# More logic depending of values of User.
...
end
1),基本上做了這樣的任務會發生的是,在郵件程序本身中,對象@user的特定屬性或屬性不滿足要發送的電子郵件。我想知道我應該在哪裏確保所有傳遞給Mailers的用戶都會收到一封電子郵件?我應該在耙子中創建一個新方法來執行這些檢查嗎?或者你會怎麼做?
每個電子郵件都有特定的數據要發送...不是所有的電子郵件都是一樣的:) - 我的問題是,我應該在哪裏做過濾?在任務本身創建一個方法? –
是的,在那種情況下,我會這樣做。過濾用戶,讓Mailer負責處理正文內容。 – Tallmaris