我创建了一个测试Rails应用程序(Rails v.4.2.0),该应用程序与包含来自美国国会的数据的外部API相关联。我有一个调用此API的任务,并在国会提取所有最近推出的账单清单。我每天检查一次API。
这些账单使用我创建的账单模型存储在数据库中。每项法案均由立法者赞助。将帐单添加到数据库的任务使用
Bill.find_or_create_by( <bill details> )
我还创建了用户帐户,以便用户可以通过将立法者保存到他们的收藏夹来跟踪各个立法者。所以我也有一个用户模型和立法者模型。
图:
User ---> Legislator followed by user ---> Bills sponsored by legislator
所以,说用户正在关注立法者X.第二天,立法者X是新创建的账单的赞助商,因此一旦调用API,就会在Bill表中添加一个新条目。
如果他们的任何一位立法者赞助新账单,我想向用户发送电子邮件。我不确定应该怎么做。如何查看数据库以查看是否有新账单?为了发送电子邮件,我应该以某种方式将邮件程序与计划任务结合起来吗?
答案 0 :(得分:0)
因为您使用Rails工具导入数据,所以可以使用ActiveRecord Callback发送电子邮件。
class Bill < ActiveRecord::Base
after_create :send_mails
private
def send_mails
self.legislator.followers.each do |follower|
# trigger the email here
end
end
end