Ruby 2.6.5
Rails 6.0.3.2
Ruby on Railsについての勉強をしていた際に、paramsというものの理解に時間がかかってしまったので、自分の確認のために投稿してみました。
##paramsとは
一言でいうと、「情報が入っている箱」のことです。
例えば、ページを遷移する際には必ず「情報が入っている箱」を送っています。というより、「情報が入っている箱」を送ることでページの遷移を可能としています。
言葉だけでの説明ではわかりにくいと思うので、具体的な例を元に説明していきます。
##具体的な例
Rails.application.routes.draw do
resources :hoges, only: [:index, :new]
end
<%= link_to "newページを開く", new_hoge_path %>
ここはnewページです。
class HogesController < ApplicationController
def index
end
def new
end
end
現在、index.html.erbのページにいるとします。
そこで、"newページを開く"をクリックすると、以下の情報が送られ、hogesコントローラーのnewアクションが動作し、new.html.erbが開き、「ここはnewページです。」と表示されます。
{"authenticity_token"=>"+wXNK4Z3C0wrq4AfslPS5zl/2LSUE6BvV+23hQpkHryrsVzPb0siDIkarIsNYLK2R502fuXlqQ==", "commit"=>"newページを開く", "controller"=>"hoges", "action"=>"new"}
この送られた情報をparamsと言います。paramsはいくつかの情報を一纏めにしたものなので、「情報が入った箱」と言われます。
paramsをよく見てみると、"controller"=>"hoges"と "action"=>"new"が確認できます。これによって、どのコントローラーのどのアクションが動作するのかを指定しているので、new.html.erbを開くことができます。
paramsの確認方法については記載すると長くなってしまうので、他の記事を参考にしてください。