0
如果模型更改,我试图从循环中退出。具有status
属性如果模型更改停止循环
:
@model.status = 'started'
(0..100).each do |i|
return if status == 'stopped'
sleep(10)
# my taks...
end
的问题是,一旦是started
变化模型没有在循环中体现出来,任何想法?
如果模型更改,我试图从循环中退出。具有status
属性如果模型更改停止循环
:
@model.status = 'started'
(0..100).each do |i|
return if status == 'stopped'
sleep(10)
# my taks...
end
的问题是,一旦是started
变化模型没有在循环中体现出来,任何想法?
您需要查询循环内的状态,以便获取更新的状态。
(0..100).each do |i|
status = Model.find(:id).status
return if status == 'stopped'
sleep(10)
# my taks...
end
'self.reload'会比'status = Model.find(:id).status'更好。它从数据库刷新模型。你甚至可以写'返回,如果self.reload.status =='停止' – nburkley