在JSON请求中发送null数组-Rails 5

P. *_*oro 0 ruby ruby-on-rails ruby-on-rails-5

我需要发送请求给我的Rails API中包含的关键:ids: [null, 1, 2, null, 3]。不幸的是,Rails削减了该数组中的所有null,因此params[:ids]返回了[1, 2, 3]。我需要数组中的那些空值。

如何防止Rails移除它们?我可以发送空字符串而不是null,但这不是很优雅。

Nat*_*a B 6

在Rails 5中,打算不具有相同的sql注入漏洞,因此删除了deep_munge方法,该方法会将空数组值更改为nil,但保留在配置选项中,该选项产生的行为可以通过查看测试来最好地描述。

了解更多信息

https://apidock.com/rails/v3.2.8/ActionDispatch/Request/deep_munge

https://til.hashrocket.com/posts/e1bed09363-deepmunge-i-hardly-knew-ye

在application.rb中添加以下行

config.action_dispatch.perform_deep_munge = false
Run Code Online (Sandbox Code Playgroud)

并重新启动应用程序