这很可能是错误的做法,但我希望有人可以指出我正确的方向
问题是,如果出现错误,some_process
需要一段时间才能执行,而如果浏览器同时转到另一个页面,则该页面会在(some_process
时返回到编辑页面)最终完成。
(大大简化的代码)
def update
respond_to do |format|
result = some_process
if result
format.html { redirect_to :action => :index }
else
# error
format.html { render :edit }
end
end
end
你怎么防止这种情况? some_process
无法中断。它应该在另一个线程中运行吗?如果用户已经失去兴趣并且已经去了其他地方,是否有一些方法可以阻止呈现页面?
我应该在render :edit
之前检查一下是否仍然在同一页面上吗?
Total Rails新手问题&我已经筋疲力尽了我的谷歌。