Ruby on Rails投稿内容に変数を代入する方法 【初心者向け】

Ruby on Railsは、規約通りに特定のコマンドを使用することで、スピーディにアプリ開発ができるフレームワークです。

前回は、Ruby on Railsで、コントローラーとアクションを使って、簡易的な投稿一覧ページを作成しました。

rails g controller コントローラー名(複数形) アクション名 

でしたね。

投稿内容の記述には「HTML」を使用しても、ブラウザで表示させることはできますが、このままではデータベースと接続できず、効率よく開発できる「Ruby on Rails」を使用する意味がなくなってしまいます。

そこで

  1. HTMLで書いた投稿内容を、変数に代入する
  2. Rubyコードとしてデータを実行、表示させる

方法を学んでいきましょう。

Ruby on Railsで投稿内容に変数を代入しよう

HTMLで書いた投稿内容を、変数に代入してみましょう。

変数とは?

変数とは

文字や数値などの値を入れて置くための箱

のようなものです。

その箱には、入れるものの名前を「わかりやすく」つけておかないといけません。

その付けた名前を「変数名」とよびます。

変数を代入するとはどういうこと?

代入とは

変数名のついた箱の中に、入れておきたい文字や数値を「=」を使って入力すること

をいいます。

このように入力します。

(自分で決めた)変数名  = "値(入れておきたい文字や数値)"

Ruby on Railsで変数名を決める時、使う時の注意点

変数名は、自分の好きな名前をつけることができますが、何の値が入っているかわかりやすい名をつけましょう。

変数名を決める時、変数名を使うときの注意点をあげておきます。

  • 数字から始まる変数名はNG・・・エラーの原因になります
  • 変数名はローマ字や日本語ではなく、英単語が望ましいです
  • 変数名に英単語を2語以上を組み合わせたい場合は、「-」アンダーバーで繋げる決まりです
  • 変数名と「=」の間には「半角スペース」をあけること
  • 表示させたい文字列は、半角の「 ” 」クォーテーションで囲むこと

viewファイル内で変数を定義する

「index.html.erb」のような「erb」という形式のファイルでは、Rubyのコードを記述、実行することができます。

「erb」とは、「Embedded Ruby」の略で、埋め込みRubyという意味です。

埋め込みRubyの記述方法

下図のように、さきほど代入した変数を<% %>で囲むことで、ファイルの中にRubyのコードを記述することができます。

<% (自分で決めた)変数名 = "値(入れておきたい文字や数値)” %>

埋め込みRubyをブラウザに表示するには?

index.html.erbのような「erb」という形式のファイルでは

<%  %>で囲む

ことで、Rubyのコードを記述できますが、ブラウザに表示したい場合には、このように

<%=(自分で決めた)変数名 %>

と、<%= %>を使用します。

定義した文字列がブラウザに表示されると思います。

Ruby on Rails <% %>と<%= %>の違い

<% %>と<%= %>の違いは

  • <% %>・・・変数の定義に用いる
  • <%= %>・・・Rubyコードの実行、ブラウザに表示したい時に用いる

少しややこしいですが、しっかり覚えておきましょう。

Ruby on Rails投稿内容に変数を代入する方法まとめ

Ruby on Railsで採用されている埋め込みRubyによって「index.html.erb」のような「erb」という形式のファイルでは

  • <% %>
  • <%= %>

の中に記述されたものは、Rubyのコードとして実行されます。

例えば、HTMLで

<p>Ruby on Railsを勉強中</p>


と、記述していたものを、変数に代入。

<% test="Ruby on Railsを勉強中" %>

と値を定義すれば、その後

<%= test %>

と記述するだけで、ブラウザには「Ruby on Railsを勉強中」が表示されるということです。

変数は

  • 同じ要素を繰り返し使える
  • 似たようなコードを何度も書く必要がなくなる
  • 修正・変更に対応しやすい

といったメリットがあり、効率よく開発するためには欠かせないので、しっかり覚えておきましょう。 

 

この記事を書いた人

よこやま良平

こんにちは!18年以上ITエンジニアとして活動してきた
よこやま良平です。

4歳~85歳まで、年間1,792人名以上の方に
パソコンやプログラミング講座を行ってきました。

また18冊以上の書籍を出版しており、連続で1位を獲得しました。
オンライン講座では200件以上のレビューを頂いており
評価は4.9/5.0と高評価を得ています。

その他これまでに3000以上のサービス・システム・サイトを作成。