0

例子:

我有一张存款表 => deposit = $100, date_added = Time.now, profit_percent = 0.01.user_id

过程 => profit = deposit * profit_percent,date = Time.now

收入历史表 => profit, date,user_id

我想每个月自动执行该过程并插入所有成员的收入历史记录。一个月是基于date_added.1.month所以它是不同的任何成员。耙子不适用于不经常的工作。玉米工作可能没问题,但我如何将它用于不同日期和时间的所有成员!

任何人都可以帮助我,请详细指导我......任何插件建议,任何工作流程?


编辑:

看我有一张accounts桌子 > 会员选择一个account

我有一张deposits桌子 > 会员存款amount

我有一个profits表 > 它在其中寻找deposits并抓取amountand date_added,处理它并将profitand date( Time.now) 添加到profits表中

我怎么能说服务器自动为profits表格执行此操作,抓取amount,处理它并将其添加到profits所有成员的表格中!我知道 SQL 代码也是 ruby​​ 的,我只是不知道如何与服务器通信来做到这一点!模型控制器?!

正如我在MVC中所知道的那样,浏览器发送命令controllercontroller连接modelmodel连接到然后database它返回到controller然后浏览器view

我只希望模型和数据库为我的应用程序执行此操作,而不是浏览器命令。:-s

4

2 回答 2

0

“无论何时”(https://github.com/javan/whenever) gem 应该可以解决您的问题。再看一下 Ryan Bates 的 Rails:http ://railscasts.com/episodes/164-cron-in-ruby

于 2013-06-29T00:57:28.020 回答
-1

使用https://github.com/javan/whenever

每当 schedule.rb

set :output, "somewhere/logs/cron.log"

#This will be executed everyday after midnight.

every :day, :at => '0:1am' do
  rake "process_monthly_earning"
end

process_monthly_earning.rake

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
于 2013-06-29T05:52:17.713 回答