将 json 数组发布到 Rails 服务器

Chr*_*Zou 5 arrays json ruby-on-rails

我想知道如何将 json 数组直接发布到 Rails 服务器。说,

POST '/api/notes_bulk', HTTP/1.1
Content-Type: application/json

[{“content”:”content1”, “title”:”title1”}, {“content”:”content2”, “title”:”title2”}, {“content”:”content3”, “title”:”title3”}, {“content”:”content4”, “title”:”title4”}, {“content”:”content5”, “title”:”title5”}]
Run Code Online (Sandbox Code Playgroud)

我对它做了一些搜索,所有的例子都有某种映射到数组的键。而在我的情况下,json 是其顶层的数组。如何在控制器代码中获取json数据?我注意到 rails 用“_json”键包装这些数据,但是当我访问它时,它说
Unpermitted parameters: _json, ....

小智 5

您可以使用“_json”键来访问数据。要删除警告,您必须允许 JSON 数组中的所有对象键。在你的情况下:

params.permit(_json: [:content, :title])
Run Code Online (Sandbox Code Playgroud)


Atu*_*tul 0

我认为您面临的问题与强大的参数有关。您需要在控制器中允许 json 参数。使用 params.require(:object).permit( 允许的参数列表)