【发布时间】:2018-04-19 05:19:52
【问题描述】:
Ember 3.0.0
Ember Data 3.0.2
Ruby on Rails 5.2.0
当使用 Ember 和 Ember Data 在使用默认适配器 (JSON_API) 的后端服务器上创建新记录时,我会遇到以下奇怪的情况:
数据正确发布到后端,后端回复201 Created 回复以及呈现为 JSON_API 的新记录。我用cUrl模拟了一个POST到后端,回复是正确的。但是适配器仍然拒绝该操作。
存储我使用的记录时:
newAccount.save().then(allIsOk).catch(failure);
即使记录被正确保存并且后端服务器回复201 Created,allIsOk 也不会被调用 - 只有.catch(failure) 被触发。
我已尝试将后端服务器的回复更改为204 No content,但问题仍然存在。
后端服务器的CORS配置如下:
Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*',
headers: :any,
methods: %i[get post put patch delete options head]
end
end
过去我们使用 Ember 的 2.x 分支开发了很多应用程序,没有任何问题。我真的不确定错误可能在哪里。后端似乎工作正常,返回了正确的数据,所以我认为问题出在 Ember / Ember Data 上,或者只是我在某处遗漏了一个小细节。
我能找到的唯一相关主题是:
【问题讨论】:
标签: ember.js ember-data ember-cli