我有一个基于回形针上传和下载的应用程序。我的下载链接指向 Controller 中的下载操作,该操作被 Javascript 强制进入新窗口。然而,在这种情况下, Controller 还设置一些 flash[] 消息。除非我按 Ctrl+R,否则它们不会显示在主窗口中。我尝试在该窗口上使用 javascript location.reload
复制此内容,但 Flash 不显示。为什么 Javascript 重新加载与 Ctrl+R 不同?
最佳答案
在调用.reload()之前在 Controller 中设置Flash消息
def controller_action
flash[:notice] = "You have been successfully uploaded an image"
render :js => 'window.location.reload()'
end
注意:渲染:js reload() 正在客户端上基于初始 jquery $.post 请求对controller_action 进行评估,数据类型为:“script”。
关于javascript - Rails 使 flash[] 在 Javascript 重新加载时显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8651806/