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