3
如果我的“创建”操作需要一段时间才能加载(由于执行了API调用,然后进行了计算)向用户显示“加载屏幕”的最佳方式是什么而这个任务是在后台执行的?在Rails 3中执行任务时显示加载屏幕
如果我的“创建”操作需要一段时间才能加载(由于执行了API调用,然后进行了计算)向用户显示“加载屏幕”的最佳方式是什么而这个任务是在后台执行的?在Rails 3中执行任务时显示加载屏幕
写一些AJAX魔术;)启动的时候显示加载图像,并把它隐藏AJAX调用完成时。如果你不想使用AJAX,以及,嗯,你可以看看这个:
http://yehudakatz.com/2010/09/07/automatic-flushing-the-rails-3-1-plan/
还有一个宝石在那里,这一定程度上做到这一点。 但我没有任何经验。 我会去的AJAX方法=)
编辑:
是啊,你应该调用jQuery中使用AJAX创建行动。你可以这样做:
function create() {
$('#loading_image').show();
$.ajax({
type: 'POST',
url: /* URL to your create action: e.g. '/user/create/' */,
data: $('form').serialize(),
success: createSuccessHandler,
error: createErrorHandler,
complete: hideLoadingImage
});
}
function createSuccessHandler(data) {
alert("User created!")
}
function createErrorHandler(data) {
alert("It failed, ffs!")
}
function hideLoadingImage() {
$('#loading_image').hide()
}
AJAX是有道理的。是否有任何特殊的Rails方式来做到这一点,或者如果我通过jQuery AJAX请求调用create action来完成这项工作? (对Rails和AJAX没有经验) – Lee 2011-01-30 15:27:19