【Rails基礎講座 3】CRUD処理の基本 >
表示内容を変更してみよう

表示内容を変更してみよう

吉田先生

viewファイルと表示内容が連動していることを確認しましょう。

表示内容を変更してみよう

ビューファイルの中身を変更し、ブラウザでの表示が変更されるのかを確認しましょう。 また今回はwelcomeコントローラで変数を設定し、変数が値を返してくれるかどうかもあわせて確認します。

1.コントローラでメソッドを作成

welcomeコントローラには

class WelcomeController < ApplicationController

def index

end

end

と書かれています。

前教程でメソッドとクラスについて勉強しましたが、

図のように赤線で囲まれた部分がクラスです。青い線で囲まれた部分がメソッドです。

Railsではdef~endまでのメソッド部分をアクションと呼びます。

現在のindexアクションには何も設定されていません。

このindexアクションに@hello = "ハロー" という変数を設定します。

@helloとhelloに@がついているのは、@helloがWelcomeControllerというクラス内のどのメソッド(アクション)でも使えるインスタンス変数として設定されているからです。

@hello という箱に ハローという値を代入しているということです。

ではコントローラファイルを保存して、ビューファイル(index.html.erb)を開いてください。

2.ビューファイルでインスタンス変数を表示

ブラウザにはビューファイルの中身がそのまま表示されているため、現在の表示はこのようになっています。

このWelcome#を先ほど作成したインスタンス変数に変更してみましょう。

 

  <h1> @hello index</h1>

 

と変更し、ビューファイルを保存して、ブラウザを更新します。

先ほど 

@hello = "ハロー"

 とコントローラで設定をしたので、@helloと入力するとハローと値が返ってくるはずです。

なぜ@helloとそのまま表示されているのでしょうか。Railsではブラウザに表示したい変数はで囲むというルールがあります。

で囲まずに入力したものは全て通常の文字列として認識されてしまいます。

そこで今度は

<h1><%= @hello %>index</h1>

と変数をで囲んでファイルを保存します。

ブラウザを更新してみましょう。

 

@helloに代入したハローという値が返ってきているのがわかります。

無料ビデオ講座のお知らせ

Skillhub [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。

無料講座一覧を見る