【发布时间】:2016-03-01 21:02:32
【问题描述】:
我将 Ember 与 ember-data 和 rails api 一起使用。我有一个工作正常的记录的 createRecord() 和 save()。用于在 rails 中创建记录的发布请求的网络选项卡中的有效负载如下所示:{data: {attributes: { foo: 'bar' } }。
在 Rails 控制器中,我有像这样的强大参数: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 获取正确的参数有什么原因吗?我确实尝试向我正在尝试创建的模型添加关联,这是它开始失败的时候。但是,我回滚到它工作的时候,但它不再工作了。
【问题讨论】:
-
您确定 ember 正在发送参数吗?
-
在发送请求下的开发工具的网络选项卡中,它显示有效负载为
{data: {attributes: { foo: 'bar' } } },所以这不意味着它被正确发送了吗?或者还有什么要找的? -
嘿,我确实有同样的问题。 Ember 在 web 检查器中显示了一些参数,但无法在 Rails 端获取它们......当我使用带有 :json_api 的最后一个版本的 ActiveModel::Serializer 时出现了。
-
@le_Daf 在 rails api 中我忘记更改 MIME 类型以接受 application/vnd.api+json
标签: ruby-on-rails-4 ember-data strong-parameters