プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Ruby on Rails
  • 【Ruby on Rails】ビューテンプレート(ERB)の記述ルール
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Ruby on Rails】ビューテンプレート(ERB)の記述ルール

06.19

  • miyabisan2
  • コメントを書く

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

ERBとは?

「Embedded RuBy」の略でHTMLにRubyのコードを埋め込みますと言う意味になります。RailsのMVCのビュー部分に当たる「ビューテンプレート」のことで、HTMLによく似た記述をします。ファイルの拡張子は「.html.erb」となります。

ERBのメリット

  • ビューヘルパーを利用することで、データベースから取得した値に基づいてシンプルなコードでフォーム等の要素を記述できる。

ERBの記述ルール

記号 説明
<% %> Rubyのソースコードとして実行させる
<=% %> Rubyのコードの実行結果(コントローラで定義したインスタンス変数等)を出力
<%# %> コメント構文
<% if false %>

<% end %>

条件文で常にfalseになるため常に無視されます。
<=% begin %>

<% end %>

複数行コメントに使えます。(上の文よりもよりコメントと言うことがわかりやすいです。)
<!-- --> HTMLコメントです。クライアント側にも見えてしまうので通常はあまり使うことはないでしょう。

実装例

<=% %>:Rubyのコントローラー側の実行結果を出力

app/views/(コントローラー名)/index.html.erb

コントローラーで定義されたインスタンス変数(テンプレート変数)「@helloworld」を出力します。

1
<%= @helloworld %>

app/controllers/(コントローラー名)_controller.rb

コントローラーで、「@helloworld」というインスタンス変数(テンプレート変数)を定義します。

1
2
3
4
5
6
class TestController < ApplicationController
    def index
        @helloworld = 'Hello World!'
        render template: 'test/index'
    end
end

実行結果

slimやhamlは使うべきか?

結論ERBだけ学習しておけば大丈夫です。

  • Rails標準の記述スタイルだから。
  • Web標準技術であるHTMLに記述が近くて学習コストが低い、理解しやすい。
  • Railsも進化を重ねてきていてパフォーマンスもslimやhamlと変わらなくなってきている。(以前はslimやhamlの方が変換などのパフォーマンスは高かったようです。)

ただ、slimやhamlを使っている現場はいまだに多いのでソースだけはRailsエンジニアとしてキャリアを積んでいきたいのであれば、ある程度学習は必要になるかもしれません。

スポンサーリンク
  • 2018 06.19
  • miyabisan2
  • コメントを書く
  • Ruby on Rails
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 12.19

    【Ruby on Rails】「外部キー」の設定のされ方

  2. 2018 06.19

    【Ruby on Rails】YAMLの基本と、データベースの接続設定をするには?

  3. 2019 11.17

    【Ruby】日付や時刻を扱うクラス

  4. 2019 11.30

    【Ruby on Rails】マイグレーション、マイグレーションファイルの書き方

  5. 2020 12.19

    【Ruby on Rails】モデルの基本、データ型、scope、メソッド(クラス、インスタンス)の違い、委譲

  6. 2018 06.17

    【Ruby on Rails】概要(他言語への影響、環境別構成例、テストフレームワーク)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【サーバー技術】「SSL/TLS」について

【Ruby on Rails】YAMLの基本と、データ…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー