带有Rails和Ember的JSONAPI强大的参数

mik*_*ohn 4 ember-data strong-parameters ruby-on-rails-4

我正在使用Ember和ember-data以及rails api.我有一个createRecord()和save()用于正常工作的记录.用于在rails中创建记录的post请求的网络选项卡中的有效负载如下所示:{data: {attributes: { foo: 'bar' } }.

在轨道控制器中,我有如下所示的强大的参数: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"}并且根本没有显示数据有效负载.

现在有没有理由为什么导轨没有从ember的右侧参数中获取?我确实尝试为我正在尝试创建的模型添加关联,这是它开始失败的时候.但是,我在它工作时回滚,但它不再工作了.

mik*_*ohn 10

我通过进入config/initializers/mime_types.rbrails 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
Run Code Online (Sandbox Code Playgroud)