こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Ruby on Railsでコントローラからビューに値を渡す方法についてを丁寧に解説していきます。
目次
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
Ruby on Railsのバージョン | 6.0.3.5 |
コントローラからビューに値を渡す方法を解説
コントローラからビューに値を渡すためには、インスタンス変数というものを使います。
インスタンス変数は
1 |
@test = 'テスト' |
というように@で始まる変数です。
このインスタンス変数をコントローラで宣言しておけば、ビューに値を渡すことができます。
ビューでインスタンス変数を参照したいときは
1 |
<%= @test %> |
というように指定すると、インスタンス変数の中身をビューに表示することができます。
では、次の章で実際に使ってみます。
コントローラからビューに値を渡す方法を解説するプログラムの概要
コントローラからビューに値を渡す方法を解説するプログラムは、
- コントローラー
- ビュー
- config\routes.rb
3つを使います。
コントローラーの新規作成時にアクションとビューを作成できるやり方は、以下の記事をご参考ください。
コントローラーは以下に
controllers\hoge_controller.rb
ビューは以下にそれぞれ格納します
views\hoge\index.html.erb
コントローラーでインスタンス変数を2つ宣言し、ビューで値を表示させます。
コントローラーのサンプルプログラム
1 2 3 4 5 6 |
class HogeController < ApplicationController def index @margherita = 'マルゲリータピザ' @pepperoni = 'ペパロニピザ' end end |
ビューのサンプルプログラム
1 2 3 4 5 6 7 8 |
<h1>コントローラからビューに値を渡す</h1> <p> <%= @margherita %>:2500円 </p> <p> <%= @pepperoni %>:1980円 </p> |
config\routes.rbのサンプルプログラム
1 2 3 |
Rails.application.routes.draw do get 'hoge/index' end |
実行して確認
コントローラから値を取得して画面に表示することができるのかを実行して確認します。
Ruby on Railsでサーバーを立ち上げるコマンドは
1 |
rails server |
です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。
【http://localhost:3000/hoge/index】のURLにアクセスすれば、値を取得できていることが確認できます!
まとめ:コントローラからビューに値を渡してみよう
以上がRuby on Railsでコントローラからビューに値を渡すやり方の解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント