【问题标题】:Auto generate invoices at particular intervals of time - Rails在特定时间间隔自动生成发票 - Rails
【发布时间】:2014-04-29 07:25:21
【问题描述】:

在我的 Rails 应用程序中,我有一个保存客户发票的表格,我希望系统每月自动为所有客户生成一次发票。表clients 和表invoice 相互关联。

客户

has_many :invoices

发票

belongs_to :client

有人知道如何自动执行此操作吗?

数据必须在每个月的第一天生成,并且必须保存在发票表中 所以,正如你猜想的那样,我对 RoR 真的很陌生,我已经在发票模型中编写了一个用于 cron 的方法,任何人都可以查看它并判断我是否在正确的路径上(我已经使用该应用程序并且不想弄乱数据库),发票(suma)的价值保存在 clientpf.suma 中,我的发票模型命名为 Factpf 这是我的方法

Cron 的 Facpf 方法

def self.generare

@clientpfs = Clientpf.all
@clientpfs.each do |clientpf|
self.suma  = clientpf.ab
self.clientpf_id = clientpf.id
Factpf.create!
end
end

【问题讨论】:

  • 所以,正如你猜想的那样,我对 RoR 真的很陌生,我已经在发票模型中编写了一个用于 cron 的方法,任何人都可以查看它并判断我是否在正确的路径(我已经在使用该应用程序,不想弄乱数据库)

标签: ruby-on-rails activerecord model


【解决方案1】:

使用Whenever gem 并执行以下操作:

schedule.rb 文件示例,

every '0 0 1 * *' do
  runner "Model.your_method_generating_invoice"
end

符号 '0 0 1 * *' 表示它将每月运行一次。

要了解有关“0 0 1 * *”符号的更多信息,请参阅here

希望对你有帮助:)

【讨论】:

  • 非常感谢 Rajesh 的回答和编辑我的问题。
  • 如果真的对你有帮助,希望你能采纳。
  • 是的,这是一个很好的答案,从我目前看到的关于 Cron 的内容来看,我认为这是一个完美的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-17
相关资源
最近更新 更多