windows10でRuby on rails 04-変数を使用したデータ受け渡し

Ruby
この記事は約2分で読めます。

前記事

概要

前記事ではコントローラの関数に記述したのはビューの呼び出しのみでしたが、今回はコントローラの関数で変数に値を設定し、それを画面に表示してみます。

コントローラの関数を書き換え

[アプリケーションルート\controllers\testlist_controller.rb]ファイルを書き換えて、以下のようなコードにします。

# coding: utf-8
class TestlistController < ApplicationController
    def hello
        #render 'testlist/hello'
        @msg= 'ほげほげ'
    end
end

変更箇所は先頭行、#renderで始まる行とその一行下の行、合計3行です。
先頭行は文字コードの指定です。これを指定した上でファイルをutf8(BOM無し)で保存しないと日本語が使えないようです。

テンプレートの書き換え

[アプリケーションルート\views\testlist\hello.html.erb]ファイルを書き換えて、以下のようなコードにします。

Hello
<p>
<% @msg %>
</p>

3行目を書き換えています。<% %>で括った部分に変数等の式を記述すると、その式の評価された値に置換されます。
上記コードでは、@msgに格納した「ほげほげ」に置換され、ブラウザには以下のように表示されます。

# coding: utf-8を入れ忘れたり、ファイルをutf-8(BOM無し)で保存していないと以下のようなエラーとなります。ログを見ろ、と書かれていますがログにもエラーが吐かれていない状態になるので混乱しますが、落ち着いてコードを見直しましょう。

これで変数を使ったビューとコントローラとの値の受け渡しについては終了です。

次記事

コメント