发送电子邮件到特定的用户这更像是一个概念上的问题,因为我有我这样做不对的感觉:逻辑在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