这方面有几个阶段,而且由于我对铁路来说相对较新,如果我以最好的方式对待这一点,我是无法肯定的。
用户跟踪公司, 公司的申请在一定时间内开放和关闭。 如果一个用户跟一个公司接通,我就希望公司在申请截止日期之前一周(c))在公司申请结束之日自动收到电子邮件。
我尝试使用指定范围。 我有以下模式方法(我认为这不需要多少工作),根据日期确定每个公司的范围。
模范公司.rb
def application_status
if open_date == Today.date
self.opening = true
else
self.opening = false
end
if ((close_day - Today.date) == 7)
self.warning = true
else
self.warning = false
end
if close_day == Today.date
self.closing = true
else
self.closing = false
end
end
我希望每天向每个公司发出这一方法,以便每个公司都有适当的范围——因此,我尝试使用每当日(Cron)和以下代码。 在每个公司采用上述模式方法。
附表.rb
every 1.day do
runner "Firm.all.each do |firm|
firm.application_status
end"
end
然后,每次范围开放、警告、关闭时,在每份时间档案中都有一种方法,简而言之,我将只展示开张方法。 对所有拥有开放范围的企业,有以下询问,并采用公开-通知方法。
附表.rb
every 1.day do
runner "Firm.opening.each do |firm|
firm.application_open_notification
end"
end
这在公司.rb模式中采用以下方法:
def application_open_notification
self.users.each do |user|
FirmMailer.application_open(user, self).deliver
end
end
Which in turn calls the final piece of the puzzle... which should send the user an email, including the name of the firm.
def application_open(user,firm)
@firm = firm
@user = user
mail to: @user.email, subject: @firm is now accepting applications
end
end
Is this a viable way to approach this problem? In particular I am not very familiar with coding in the model.
许多人感谢你能够提供的任何帮助。