ruby-on-rails - 使用 ember.js 为 rails View 显示 JSON 而不是 HTML

标签 ruby-on-rails ember.js ember-data

我正在慢慢地将我的 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/

相关文章:

ruby-on-rails - 安装 Rails 时为 "Failed to build gem native extension"

ruby-on-rails - 从 rails/lib 模块中验证用户

javascript - 为什么我需要在 Ember.js 中定义一个索引路由?

ember.js - Ember 应用程序不会使用 ActiveModelAdapter 从 has_many 关系加载数据

mysql - 关系:Ember 数据和 MySQL

ember.js - 从计算属性返回 promise

mysql - rails 3 事件记录 : UNION

ruby-on-rails - Rails 5.1 has_many through - 关联字段

ember.js - `Ember.Select` bool 属性返回空对象 `{}`

javascript - 将 chai-as-promised 添加到 Ember 应用程序