2014-04-29 48 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