ruby-on-rails-4 - 使用 Rails 和 Ember 的 JSONAPI 强参数

标签 ruby-on-rails-4 ember-data strong-parameters

我将 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/

相关文章:

ruby - 使用 jbuilder 创建具有动态哈希键的 JSON

javascript - 预编译 application.js 资源

ruby-on-rails - 如何测试 Controller 规范中的 strong_parameters?

ruby-on-rails - Rails 4 强参数 - 更新时堆栈级别太深

ruby-on-rails - 强参数 params.require 和 link_to

javascript - 如何将 f.date_select 的月份、日期、年份放在单行上?

ruby - Rails 应用程序站点范围的设置可从前端编辑

ruby-on-rails - 2015 年重新审视 Ember 处理 401

javascript - Ember.js 推荐的从集合中删除项目并坚持到 REST 的方法

ember.js - 通过 Faye/websockets 订阅更新会导致重复记录