【Ruby on Rails】コントローラからビューに値を渡す方法について解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。

この記事では、 Ruby on Railsでコントローラからビューに値を渡す方法についてを丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Rubyのバージョン 2.6.6
Ruby on Railsのバージョン 6.0.3.5

この記事ではRuby on Railsのプロジェクトは

C:\rails_study\sample

に作成しています。

Ruby on Railsのアプリケーションを新規作成するやり方はこちらの記事をご参考ください。

コントローラからビューに値を渡す方法を解説

コントローラからビューに値を渡すためには、インスタンス変数というものを使います。
インスタンス変数は、@で始まる変数です。

コントローラーで

というように宣言しておけば、ビューに値を渡すことができます。
ビューでインスタンス変数を参照したいときは

というように指定すると、インスタンス変数の中身をビューに表示することができます。

では、次の章で実際に使ってみます。

コントローラからビューに値を渡す方法を解説するプログラムの概要

コントローラからビューに値を渡す方法を解説するプログラムは、

  • コントローラー
  • ビュー
  • config\routes.rb

3つを使います。
コントローラーの新規作成時にアクションとビューを作成できるやり方は、以下の記事をご参考ください。

コントローラーは名前を【hoge_controller】とし、

sample\app\controllers\hoge_controller.rb

に格納しています。
インスタンス変数を2つ作成し、それらをビューに渡します。

ビューは名前を【index.html.erb】とし、

sample\app\views\hoge\index.html.erb

に格納しています。
コントローラーから渡されたインスタンス変数をビューで表示させ、渡せているかを確認します。

コントローラーのサンプルプログラム

ビューのサンプルプログラム

config\routes.rbのサンプルプログラム

実行して確認

コントローラから値を取得して画面に表示することができるのかを実行して確認します。
Ruby on Railsでサーバーを立ち上げるコマンドは

です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。

【http://localhost:3000/hoge/index】のURLにアクセスすれば、値を取得できていることが確認できます!

まとめ:コントローラからビューに値を渡してみよう

以上がRuby on Railsでコントローラからビューに値を渡すやり方の解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました