0
我试图创建一个CRON
作业来监视我平台上的user
的活动状态。检查过去x天是否创建了Rails关联
它应该检查用户是否已经购买了某件东西或给某人发送了消息,如果没有,则发送一封电子邮件。我对同样的方法是:
def self.create_new_user_reminders
@new_users = User.where({ banned: false, admin: false })
@new_users = @new_users.reject { |u| u.client.try(:purchases).any? or u.client.try(:conversations).any? }
@new_users.each do |nu|
SalesMailer.delay.signup_no_engagement(nu)
end
end
现在我想扩展,以包括假如客户没有购买东西或在过去14天传递消息的人发送电子邮件的条件。
Client
与Purchases
和Conversations
关联为has_many
关联。
我可以想到的一种方式是创建嵌套循环并拒绝特定的purchases
和messages
,但这样做效率很低。
在Rails上实现它的好方法是什么?
什么是客户端?它是User上的一个属性还是User模型中定义的方法? – dhaliman