我正在慢慢地将我的 rails 网站从传统的 rails round-trip-for-each-view 应用程序转移到最终将基于单页 ember.js 的应用程序。作为此迁移的一部分,我将分步进行,而不是一次性将整个应用程序迁移到单个页面应用程序,而是首先逐节迁移。
我被一个看似普遍的问题难住了。当我对 JSON View 和 HTML View 使用相同的 Controller 时,在 Chrome 中按回偶尔会显示 JSON View 而不是 HTML View 。
例如,我有一个端点/portfolio/13,它是这些部分 ember.js 应用程序之一的入口点,这会导致 Ember Data 在具有 application/的同一端点上提取 ID 为 #13 的 Portfolio 的 JSON json 作为 Accept: header 。在向前导航到更深的页面后按返回将获得页面的 JSON 表示而不是 HTML。
我是否需要强制 Ember Data 使用格式参数,以便 JSON 版本位于不同的 URL?如果是这样,如何做到这一点?
我究竟做错了什么?
最佳答案
尝试在您的 Javascript 中的某处添加它:
$.ajaxSetup({cache: false});
它应该解决问题。然而,这里有些不对劲,因为默认浏览器不缓存 JSON。这可能是因为错误的内容类型,即 Rails 将 JSON 作为 HTML 提供服务。
关于ruby-on-rails - 使用 ember.js 为 rails View 显示 JSON 而不是 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11041974/