Ruby on Rails ではよく params[:id]
のように、パラメーターを取得することがあります。
これは HTTP リクエストの情報を扱う際に頻繁に使用される params というメソッドを用いたものです。
この記事では、Ruby on Rails でパラメーターを取得する方法について、初心者向けに解説します。
params とは?
Ruby on Rails のコントローラーで、HTTP リクエストに含まれる情報を格納するための変数です。主に、フォームから送信されたデータや、URL パラメータを取得する際に使用されます。
params の使い方
params は、以下のようにコントローラー内で使用します。
class UsersController < ApplicationController def index @users = User.all end def show @user = User.find(params[:id]) end def create @user = User.new(user_params) if @user.save redirect_to users_path else render :new end end private def user_params params.require(:user).permit(:name, :email, :password) end end
上記の例では、ユーザーの情報を扱うコントローラーで、index アクション、show アクション、create アクションが定義されています。それぞれのアクションで、params を使用してリクエストの情報を取得しています。
URL パラメータの取得
URL パラメータを取得するには、以下のように params[:パラメータ名]と書きます。
class UsersController < ApplicationController def show @user = User.find(params[:id]) end end
上記の例では、show アクションで URL パラメータの”id”を取得しています。これにより、リクエストされたユーザーの情報を取得しています。
フォームからのデータの取得
フォームから送信されたデータを取得するには、以下のように params[:モデル名]と書きます。
class UsersController < ApplicationController def create @user = User.new(user_params) if @user.save redirect_to users_path else render :new end end private def user_params params.require(:user).permit(:name, :email, :password) end end
上記の例では、create アクションでフォームから送信されたデータを取得しています。この場合、params[:user]でユーザー情報を取得し、user_params メソッドで許可されたパラメーターを取得しています。
まとめ
Ruby on Rails の params は、HTTP リクエストに含まれる情報を扱うための変数です。URL パメータやフォームから送信されたデータを取得する際に頻繁に使用されます。コントローラー内で params を使用することで、リクエストされた情報を取得し、それを基に処理を行うことができます。
params の使い方については、コントローラー内で params[:パラメータ名]と書くことで、URL パラメータやフォームから送信されたデータを取得することができます。また、Strong Parameters と呼ばれる機能を使うことで、取得できるパラメーターを制限することもできます。
今回の記事では、初心者向けに Ruby on Rails の params について解説しました。HTTP リクエストの情報を扱う際には、params を上手に活用して効率的な開発を行いましょう。