みなさんこんにちは!
のむ(@nomu_engineer)です!
この記事では、paramsの中の特定のハッシュのキーを取得する方法についてまとめました!
今回の場合は、params内に二つハッシュが存在し、その二つを一緒に取り出したい場合についての解説です!
この記事を読むメリット
・paramsについての理解が深まる。
・params内の特定のキーの取得ができるようになる
この記事を読むおすすめの読者
・プログラミング初心者
・駆け出しエンジニア
・paramsから特定のハッシュを取り出せるようになりたい方。
それでは早速本題の方に入っていきたいと思います
paramsについて
paramsについてざっくり説明します。
paramsとはRailsにおいて、送られてきた値を受け取るためのメソッドになります。
送られてくる情報は、クエリパラメータと、Postでformを使って送信されてくるデータの二つです。
paramsの中身はハッシュ形式でデータが格納されてるので、キーを指定することで、値となるデータ(Value)を取得することができます。
paramsから特定のキーを取得する方法について
それでは本題に入っていきます。
最初に今回の記事がどう言ったシチュエーションのことを指しているのか、説明します。
paramsの中身の前提は以下の通りです。

上記のコードを見てもらうとわかると思いますが、paramsの中に、「item」と「token」の二つのハッシュが存在するのがわかると思います。
今回は、「item」と「token」の二つの情報を取得する方法についての解説になります。
「item」だけのパターン
「item」の「name」の値だけを取り出したい場合は、ストロングパラメーターの記述は以下のように記述することで取り出せます。

「item」と「token」両方のパターン
「item」にプラスして「token」の値も欲しいとなった場合は、mergeメソッドを用います。
実際にmergeメソッドを用いた記述は以下の通りです。

上記のように記述すると、tokenの情報も一緒に受け取ることができます。
params内でハッシュが異なる情報を取得する場合はmergeメソッドを用いて、キーとバリューを指定することで同時に情報を受け取ることができます。
つまるところ、今回の記事で何がお伝えしたかったかというと、mergeメソッドに限らず、paramsの中の特定のキーを取得したい場合は、以下の記述で取得することも可能ということです!
「:キー」+params[:取り出したい値のキー]
いろいろな書き方を覚えていると、便利なので是非抑えておきましょう!
最後に
以上が、特定のキーの取得の仕方についての解説になります
最後に今回の学習したことについてまとめて終わりたいと思います。
①params
・・・送られてきた情報を受け取るためのメソッド
②params内に二つハッシュが存在する場合
・・・mergeメソッドを用いて取得する
③params内の特定のキーの取得
・・・「:キー」+params[:取り出したい値のキー]
以上、paramsの中の特定のキーを取得したい場合の記事でした!
よく使うの、是非抑えておきましょう!!
ありがとうございました!