日本語版
最新ニュース
科学&テクノロジー

Ruby-on-Rails ERB と HAML | ブーツレール

これは、Rails を使用した ERB と HAML に関する独断的な記事です。 お互いを比較して勝者を決めましょう。使用事例Ruby-on-Rails の世界では、これらはテンプレート言語として知られています。 MVC の概念では、これらは「ビュー」を表します。 どちらも HTML を出力するためにここにあります。例例は百聞は一見に如かずなので、ここでは 2 つの例を示します。1 つは ERB を使用したもの、もう 1 つは HAML を使用したものです。 どちらも厳密には同等です。 変数の作成、Ruby コードの実行、インライン スタイル、条件、ループなど、さまざまな問題を強調するために、さまざまな種類の概念を導入しようとしました。ERBテンプレートファイル1 2 3 4 5 6 7 8 9 10 11 12 13…

Ruby-on-Rails ERB と HAML | ブーツレール

1708118871
2024-02-16 10:11:23

これは、Rails を使用した ERB と HAML に関する独断的な記事です。 お互いを比較して勝者を決めましょう。

使用事例

Ruby-on-Rails の世界では、これらはテンプレート言語として知られています。 MVC の概念では、これらは「ビュー」を表します。 どちらも HTML を出力するためにここにあります。

例は百聞は一見に如かずなので、ここでは 2 つの例を示します。1 つは ERB を使用したもの、もう 1 つは HAML を使用したものです。 どちらも厳密には同等です。 変数の作成、Ruby コードの実行、インライン スタイル、条件、ループなど、さまざまな問題を強調するために、さまざまな種類の概念を導入しようとしました。

ERBテンプレートファイル

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<% v = run_some_ruby_code %>

 id="main" style="margin-left: 0">

   class="left column">
    

Welcome to the library

<% books.each_with_index do |book, indx| %> <% if indx > 0 %>

<%= book.title %>

<% end %> <% end %> class="right column"> <%= render "shared/sidebar" %>

次の HAML テンプレート ファイルと同等です。

1
2
3
4
5
6
7
8
9
- v = run_some_ruby_code
#main{style: "margin-left: 0"}
  .left.column
    %h2 Welcome to the library
    - books.each_with_index do |book, indx|
      - if indx > 0
        %p= book.title
  .right.column
    = render "shared/sidebar"

ERB

  • プレーン HTML は引き続き有効なので、他の Web サイトからのコピー/ペーストは問題ありません
  • 好きなようにインデントできます: 利点と思われるかもしれません: 好きなようにインデントしたい場合。 問題ともみなされる可能性があります。不適切なインデントが依然として機能します…
  • Rails のデフォルトスタックを標準とする : これは、さらなる標準化を意味します : より良い IDE サポート、従来のアプリでより多くの IDE が使用される可能性があり、参入障壁が最も低くなります

ハムレット

  • HAML はそれほど冗長ではありません – これがメインです 不公平な優位性 HAMLの。
  • HAML は正しくインデントされている必要があります。 インデントが必要以上に直感的でない場合があります。 だから、そうではありません それで いいね。
  • また、HAML は特殊なケース (JavaScript タグ、インライン CSS など) ではあまり直感的ではありません。 この場合、外部のオンライン ツールを使用する必要があります。
  • gem として追加されました。つまり、デフォルトの Rails アプリケーションには含まれていませんでした。
  • ERB よりも遅いことで知られていますが、実際的な違いは感じられませんでした。

そして勝者は

ERB。

私は両方を使用したことがありますが、HAML には非常に大きな利点が 1 つあると言わざるを得ません。それは、冗長性がはるかに少ないことです。 これは、大きなテンプレート ファイルの場合に非常に便利です。 ただし、大きなテンプレート ファイルを適切に小さな部分 (部分または view_components) に分割すれば、アプリケーション内で大きなテンプレート ファイルが頻繁に使用されることはありません。

したがって、現在、HAML の大きな利点は、その欠点の合計を上回るものではありません。例からコピー/ペーストするのが難しく、特に注意が必要な特殊なケースです。

#RubyonRails #ERB #と #HAML #ブーツレール

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。