Ruby on Railsは、規約通りに特定のコマンドを使用することで、スピーディにアプリ開発ができるフレームワークです。
前回は、Ruby on Railsで、コントローラーとアクションを使って、簡易的な投稿一覧ページを作成しました。
rails g controller コントローラー名(複数形) アクション名
でしたね。
投稿内容の記述には「HTML」を使用しても、ブラウザで表示させることはできますが、このままではデータベースと接続できず、効率よく開発できる「Ruby on Rails」を使用する意味がなくなってしまいます。
そこで
- HTMLで書いた投稿内容を、変数に代入する
- 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を勉強中」が表示されるということです。
変数は
- 同じ要素を繰り返し使える
- 似たようなコードを何度も書く必要がなくなる
- 修正・変更に対応しやすい
といったメリットがあり、効率よく開発するためには欠かせないので、しっかり覚えておきましょう。