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