Rails使Flash []显示在Javascript重新加载

时间:2011-12-28 04:19:07

标签: javascript ruby-on-rails ruby download reload

我有一个基于Paperclip上传和下载的应用程序。我的下载链接指向控制器中的下载操作,该操作被Javascript强制进入新窗口。但是,在这种情况下,控制器也会设置一些flash []消息。除非我执行Ctrl + R,否则它们不会显示在主窗口中。我尝试在该窗口上使用javascript location.reload复制此内容,但随后闪存未显示。为什么Javascript重新加载与Ctrl + R不同?

1 个答案:

答案 0 :(得分:4)

在调用.reload()

之前,在控制器中设置flash消息
def controller_action
  flash[:notice] = "You have been successfully uploaded an image"
  render :js => 'window.location.reload()'
end

注意:渲染:js reload()在客户端上根据对controller_action的初始jquery $ .post请求进行评估,其中dataType为'script'。