【Ruby on Rails】クエリ文字列でURLからパラメータを取得する方法について解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。

この記事では、 Ruby on Railsクエリ文字列でURLからパラメータを取得する方法についてを丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Rubyのバージョン 2.6.6
Ruby on Railsのバージョン 6.0.3.5

クエリ文字列とは

クエリ文字列とは

http://localhost:3000/sample?test=123

というように値を渡す方法です。
上記の例だと、「test」がキーで「123」が値です。

Ruby on Ralsの場合、クエリ文字列からパラメータを取得する場合、コントローラーに処理を記載する必要があります。

コントローラーでクエリ文字列を取得するやり方を解説

コントローラーでクエリ文字列を取得するやり方を解説します。
取得するにはparamsメソッドを使います。
以下のように使って、クエリ文字列から値を取得します。

http://localhost:3000/sample?test=123

でアクセスした場合、resultには「123」という値が入ります。
注意点としまして、値を取得すると型は文字列となります。

では、次の章で実際に使ってみます。

クエリ文字列でURLからパラメータを取得するやり方を解説するプログラムの概要

クエリ文字列でURLからパラメータを取得するやり方を解説するプログラムは、

  • コントローラー
  • ビュー
  • config\routes.rb

3つを使います。

  • コントローラーの新規作成時にアクションとビューを作成できるやり方
  • コントローラーからビューに値を渡すやり方

は、以下の記事をご参考ください。

コントローラーでクエリ文字列取得し加工して、ビューで表示させます。

コントローラーのサンプルプログラム

ビューのサンプルプログラム

config\routes.rbのサンプルプログラム

実行して確認

クエリ文字列の値を取得して画面に表示することができるのかを実行して確認します。
Ruby on Railsでサーバーを立ち上げるコマンドは

です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。

今回、

  • name:tanaka
  • school:Ruby

というクエリ文字列を与えます。

【http://localhost:3000/hoge/index?name=tanaka&school=Ruby】のURLにアクセスすれば、値を取得できていることが確認できます!

まとめ:クエリ文字列でURLからパラメータを取得してみよう

以上がRuby on Railsでクエリ文字列でURLからパラメータを取得するやり方の解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました