erbの意味は何ですか?


132

Railsアプリケーションのビューがこの形式であるのはなぜ*.erb.htmlですか?「erb」とはどういう意味ですか?

回答:


164

erbは「Embedded RuBy」の略です。A .html.erbまたは.erb.htmlファイルがに埋め込まれRubyコードでHTMLです。RailsはRubyを評価してコンテンツをファイルに動的に追加し、レンダリング用の「純粋な」HTMLファイルを出力します。


9
おまけ:index.en.html.erbindex.de.html.erbを
iain

3
ラメ、彼らはhtmlを削除する必要があります。u html.phpが表示されない
luckyguy73

46

@Chowlettが前述したように、erbはEmbedded Rubyの略です。「.html.erb」としてファイルを定義すると、それはルビコードが埋め込まれたHTMLファイルであり、railsファイルの「.rhtml」拡張子に似ています。

「.html.erb」と「.rhtml」の間の詳細で素晴らしい違いを見ることができます ここをクリック

「.rhtml」と同様に、「。rjs」拡張子を「.js.erb」または「.rxml」から「.xml.erb」に名前変更することもできます。

このフォーマットでは、コンテンツタイプとテンプレートエンジン(この場合は「erb」)が区別されます。


1
私の答えを評価してくれて@khanhに感謝します:)
Nimesh Nikum

9

スチュアートエリスの「ERBテンプレート作成入門」から

ERB(Embedded RuBy)はRubyの機能で、テンプレートから任意の種類のテキストを任意の数量で簡単に生成できます。テンプレート自体は、プレーンテキストとRubyコードを組み合わせて変数の置換とフロー制御を行うため、テンプレートの記述と保守が容易になります。

ERBはWebページの生成で最もよく見られますが、XMLドキュメント、RSSフィード、ソースコード、およびその他の形式の構造化テキストファイルの生成にも使用されます。単体テストスイートなど、標準パターンの多くの繰り返しを含むファイルを作成する必要がある場合、これは非常に価値があります。

ERBの主なコンポーネントは、RubyアプリケーションおよびRakeタスク内で呼び出すことができるライブラリです。このライブラリは、任意の文字列をテンプレートとして受け入れ、テンプレートのソースに制限を課しません。テンプレートはコード内で完全に定義することも、外部の場所に保存して必要に応じて読み込むこともできます。これは、テンプレートをファイル、SQLデータベース、または使用するその他の種類のストレージに保持できることを意味します。

Rubyディストリビューションには、追加のコードを記述せずにファイルに保持されているテンプレートを処理できるコマンドラインユーティリティも含まれています。論理的には、このユーティリティはerbと呼ばれます。

ERBはRuby標準ライブラリの一部です。それを使用するために他のソフトウェアをインストールする必要はありません。

元の記事には、ERBの使用に関する詳細と短いガイドが含まれています。あなたも読むことができます公式ドキュメントをます。


注:上記の引用ブロックは、ERBテンプレートの紹介にリンクしたり、そのユーザーの作業ではなかったことを認めたりせずに、別のユーザーが以前に回答として投稿したものです。その投稿は盗用のために(正しく)削除されました。しかし、私はそれが有用な答えだと思ったので、元の著者であるスチュアートエリスに適切な帰属を示す引用を再投稿しました。


5

ERbとも呼ばれる組み込みRubyは、動的コンテンツをWebページに含めるための主要なテンプレートシステムです。-マイケル・ヘルトル


4

from template-format ERBテンプレートを含むファイルには任意の名前を付けることができますが、ファイルの名前の末尾は.erb拡張子にする必要があります。Railsは、テンプレートファイルに出力タイプの拡張子とそれに続く.erbが必要であるため、layout.html.erbのような名前はHTMLテンプレートを示します。

erbファイルは単にテキストを出力します。これ以上何もない。ファイル内の静的テキストとルビコードの組み合わせに依存するテキスト。ブラウザーがページを表示するために必要なものであるため、erbを使用して、Railsでのデフォルトの使用法であるhtmlを生成できます。

ルビーには特定のデフォルトがあります1つのデフォルトは、コントローラーがHTMLページをレンダリングすることです。しかし、Web APIを記述すれば、.xml、.json、または.csvで簡単に応答させることができます。

Erbは、テキストを生成するライブラリクラスです。これ以上何もない。静的テキストとルビコードが混在するファイルを想定しています。Rubyコードを実行し、結果が別のファイルに書き込まれます。コントローラーの場合はhtmlです


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.