2014-04-29 49 views
1

在我的Rails应用程序中,我有一张表保存我的客户发票,并且我希望系统自动为每个客户每月自动生成一张发票。表clients和表invoice相互关联。在特定的时间间隔自动生成发票 - Rails

客户

has_many :invoices 

发票

belongs_to :client 

没有任何人有关于如何自动执行此操作的任何想法?

必须在每个月的第一天生成数据,并且必须保存在发票表 因此,正如您所猜测的,我对RoR真的很陌生,我已经在发票模型中编写了一个方法在cron中使用,任何人都可以查看它,并告诉我是否在正确的路径(我已经使用应用程序,不想混乱数据库),发票的价值(suma)保存在clientpf.suma和我的发票型号被命名为Factpf这里是我的方法

的克龙

def self.generare 

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

所以,you'ved猜到我是真正的新的回报率,我ved在发票模型中写了一个在cron中使用的方法,任何人都可以查看它并告诉我是否在正确的路径上(我已经在使用应用程序并且不想混乱数据库) – user3477834

回答

1

使用Whenever宝石Facpf方法,做的弗洛WS:

schedule.rb文件,

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

记号 '0 0 1 * *' 表示,将在每月运行一次。

要知道更多关于符号 '0 0 1 * *',只是指here

希望它能帮助:)

+0

非常感谢多Rajesh,为答案和编辑我的问题。 – user3477834

+0

希望你能接受答案,如果它真的帮助你。 –

+0

是的,这是一个很好的答案,从我读到的有关Cron的内容中,我认为这是一个完美的解决方案 – user3477834