我将 Ember 与 ember-data 和 rails api 一起使用。我有一个工作正常的记录的 createRecord() 和 save()。用于在 rails 中创建记录的发布请求的网络选项卡中的有效负载如下所示:{data: {attributes: { foo: 'bar' } }
.
在 Rails Controller 中,我有如下强大的参数:params.require(:data).require(:attributes).permit(:foo)
,这在一段时间内运行良好。现在,当我发送请求时,rails 说 param is missing or the value is empty: data
.如果我查看浏览器中的网络选项卡,请求的有效负载仍然与上述相同。如果我 puts params
它只显示 {"controller": "api/v1/answers", "action": "create"}
并且根本没有显示数据有效负载。
Rails 现在没有从 ember 获取正确的参数有什么原因吗?我确实尝试向我正在尝试创建的模型添加关联,这是它开始失败的时候。但是,我回滚到它工作的时候,但它不再工作了。
最佳答案
我通过进入 config/initializers/mime_types.rb
解决了这个问题rails api中的文件并将文件更改为:
api_mime_type = %W(
application/vnd.api+json
text/x-json
application/json
)
Mime::Type.unregister :json
Mime::Type.register 'application/json', :json, api_mime_type
关于ruby-on-rails-4 - 使用 Rails 和 Ember 的 JSONAPI 强参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35733430/