在Rails 3中执行任务时显示加载屏幕

如果我的“创建”操作需要一段时间才能加载(由于进行API调用然后进行计算),在后台执行此任务时, 向用户显示“加载屏幕”的最佳方法是什么?

写一些AJAX魔术;)激活时显示加载图像,并在AJAX调用完成后隐藏它。 如果你不想使用AJAX,嗯,你可以看看这个:

http://yehudakatz.com/2010/09/07/automatic-flushing-the-rails-3-1-plan/

那里还有一颗gem,有点那样做。 但我对此没有任何经验。 我会去AJAX方法=)

编辑:

是的,你应该在jQuery中用AJAX调用create动作。 你可以这样做:

function create() { $('#loading_image').show(); $.ajax({ type: 'POST', url: /* URL to your create action: eg '/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() }