【发布时间】:2013-12-05 19:04:37
【问题描述】:
我正在使用 state_machine gem。我已经在我的一个模型上成功使用了 state_machine gem,但我无法让它在另一个模型上工作。在我的任务模型中,这是状态机:
state_machine :state, :initial => :incomplete do
event :task_finished do
transition :incomplete => :needs_approval
end
end
创建新任务时,状态列最初设置为不完整,因此我知道 state_machine 有点工作。问题是,在 rake 任务中,我调用了 :task_finished 事件,但它不起作用。这是 rake 任务:
task :change_it => :environment do
puts "task is working"
@tasks = Task.already_expired
@tasks.each do |tasko|
tasko.task_finished
puts "Kalabar" + tasko.inspect + "now time is:" + DateTime.now.to_s
puts "time_frame is:" + tasko.time_frame.to_s
end
end
如何让它工作?
任务正在完成,因为 put 语句正在放入服务器,但状态并未从 :incomplete 更改为 :needs_approval 。我该如何解决这个问题?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 rake state-machine rake-task