示例:
我有存款表=> deposit = $100
,date_added = Time.now
,profit_percent = 0.01
。 user_id
过程=> profit = deposit * profit_percent
,date = Time.now
earning_history Table => profit
,date
,user_id
我想每个月自动完成这个过程,并为所有成员插入收入历史记录。一个月基于date_added.1.month
,因此对于任何成员都不同。耙子不适用于不经常工作。玉米的工作可能还可以,但我怎样才能将它用于所有具有不同日期和时间的成员!
任何人都可以帮助我,请详细指导我...任何插件建议,任何工作流程?
编辑:
看,我有accounts
表>会员选择account
我有deposits
表>会员存入amount
我有profits
表>它在deposits
中搜索并抓住amount
和date_added
,处理它并将profit
和date
(Time.now
)添加到{{1}表}
我怎么能说服务器自动为profits
表执行此操作,抓取profits
,处理它并将其添加到amount
表中以供所有成员使用!我知道SQL代码也是ruby的,我只是不知道如何与服务器通信来做到这一点! 型号,控制器?!
据我所知, MVC ,浏览器发送命令profits
和controller
连接controller
和model
connect到model
然后返回database
然后controller
然后浏览器。
我只希望模型和数据库为我的应用程序执行此操作,而不是浏览器命令。 :-s
答案 0 :(得分:0)
“每当”(https://github.com/javan/whenever)gem应解决您的问题。再看看Ryan Bates演唱的这个Rails:http://railscasts.com/episodes/164-cron-in-ruby
答案 1 :(得分:-1)
使用https://github.com/javan/whenever
set :output, "somewhere/logs/cron.log"
#This will be executed everyday after midnight.
every :day, :at => '0:1am' do
rake "process_monthly_earning"
end
implement your logic here
after_save
挂钩。after_save :process_monthly_earning
private:
def process_monthly_earning
if new_record? #use it if then earnings are editable
#check if any monthly earnings are there, if any then update else create
else
#adjust the earning
end
end