我最近一直在为 Rails 项目苦苦挣扎,其中基本上项目的每个页面都需要通过常规导航(对于较旧的浏览器)和没有布局的 AJAX 进行访问。我最近通过将它放在 ApplicationController 的顶部找到了解决问题的方法:
layout proc { request.xhr? ? false : "application" }
此行应该导致所有控制器操作在正常访问时使用布局呈现,并且在通过 AJAX 访问时不使用控制器,但这似乎有点好得令人难以置信。
我想知道我忘记了这种方法是否存在任何安全性或性能下降?有更好的方法吗?是否有可能一些晦涩的旧浏览器可能会在意外情况下呈现没有布局,反之亦然?
基本上,我是否忽略了什么?这会很危险吗?