ids: [null, 1, 2, null, 3]
のようなキーでRails APIにリクエストを送信する必要があります。残念ながら、Railsはこの配列からすべてのヌルを切り捨てるので、params[:ids]
は[1, 2, 3]
を返します。配列にこれらのnullが必要です。jsonリクエストでヌルの配列を送信する - Rails 5
どのようにしてRailsを削除できないのですか?私はnullの代わりに空の文字列を送ることができますが、あまりエレガントではありません。
ids: [null, 1, 2, null, 3]
のようなキーでRails APIにリクエストを送信する必要があります。残念ながら、Railsはこの配列からすべてのヌルを切り捨てるので、params[:ids]
は[1, 2, 3]
を返します。配列にこれらのnullが必要です。jsonリクエストでヌルの配列を送信する - Rails 5
どのようにしてRailsを削除できないのですか?私はnullの代わりに空の文字列を送ることができますが、あまりエレガントではありません。
使用JSONの
が
IDを置き換える代わりに、アレイの構造:[NULL、1、2、NULL、3]
IDを持ちます:{0、null、1、1、2、2、3、null、4、3}
とレール5に
params[:ids].values
[nil, 1, 2, nil, 3]
ようなコントローラアクセスその中に、同じSQLインジェクション脆弱性を持っていないし、そうnilに空の配列値を変更することになるdeep_munge方法を削除したつもりが、テストを見て最もよく記述された動作を生成する設定オプションに残っています。 application.rbで
詳細はhttps://apidock.com/rails/v3.2.8/ActionDispatch/Request/deep_munge
https://til.hashrocket.com/posts/e1bed09363-deepmunge-i-hardly-knew-ye
ライン
config.action_dispatch.perform_deep_munge = false
の下に追加して、別の環境ではのアプリケーション
を再起動します値の解釈が異なります。
私は最善の方法は、あなたが達成したい結果に従って、これらのエントリを交換することであると思う:
ids.map! { |id| id == null ? nullValue : id }.flatten!
nullValue
あなたは、配列を持っていることを期待しているものです。
Railsがこの配列からすべてのnullを切り捨てるとはどういう意味ですか?私の知る限りでは、既定のレールにはこのような機能はありません。 –
配列コンパクトメソッドを使用しているかどうかにかかわらず、コードを共有してください。 –