SuzuBlog

webのお勉強はじめたばかりの初心者。備忘録

Rails URLにidや特定にパラメータを含める

URLにidや特定にパラメータを含める

投稿の詳細画面や、ユーザーのプロフィール画面等、同じ表示でパラメータ毎によって表示を変えたいときは、

config/routes.rbで以下のようにルーティングを行う

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

ただし、posts/index のようなルーティングの下に記述すること。

渡されたパラメータを受け取る

上記の方法で渡されたパラメータは、コントローラで受け取ることができる。 idが渡されたのならば、params[:id]と記述すれば良い。

posts_controller.rb

def show
    @id = params[:id]
end

変数を用意してコントローラー内で受け取ることで、viewで使用することが可能になる。

show.html.erb

<%= @id %>