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上,或者只是在某个地方遗漏了一个小细节。
我能找到的唯一相关主题是: