最近、Ruby on Railsで開発をすることがあり、メンバーが書いたコードを参考させてもらいながら書いたりしています。
今回、Strong Parameterで配列を扱いたかったときに上手く値を取得できなくて、少し詰まったのでログを残して置きます。
やりたかったこと
やりたかったことは、クライアントから以下のようなJSONを受け取り、複数のIDを配列で受け取りたかった。
{ "xxx_id": "xxx", "yyy_ids": [ "yyyy_1", "yyyy_2" ] }
def demo_params params.permit(:xxx_id, :yyy_ids) end
起きた現象
実際に、やりたかったことで書いたdemo_params
のようなコードを書いて、複数IDを受け取れるかと思ったが、ログに出力してみると何も表示されませんでした。
解決方法
どうも配列を受け取りたい場合は、以下のようにキーに空配列を指定してあげる必要がありました。
def demo_params params.permit(:xxx_id, yyy_ids: []) end