Ruby on Railsのparamsとは?パラメータを取得する方法

当サイトでは一部リンクに広告が含まれています
programming

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 を上手に活用して効率的な開発を行いましょう。

目次