プログラミング

【Ruby on Rails】URLの値を引数としてControllerで使う方法

MVCモデルの開発の基礎中の基礎、URLのパラメータをコントローラの引数として利用する方法のメモです。

この記事のターゲット

  • Ruby on Rails初学者
  • 久々にRuby on Railsを触って書き方を忘れた人
  • 自分自身

まずはルーティングの確認

URLのパラメータを受け取るということは、http://hoge.com/fuga/1というURLにアクセスしたときに1を受け取ってコントローラを処理したいということなので、まずはapp/config/routes.rbを確認します。

Rails.application.routes.draw do

  get "posts/:id" => "posts#show"
  
end

この状態で、コントローラ側に以下記述をすることで引数を取れる。

@post = params[:id]

このidという引数名はroutes.rbを書き換えることで他の名前に変えることができる。

get "post/:name" => "post#show"

# この場合、変数はnameで取れる

@post = params[:name]

↑当然だけど、別に変数名と合わせる必要はない

 

意外とこういうの忘れてしまうのでメモでした。