LoginSignup
1
3

More than 5 years have passed since last update.

Rubyの基本記述の仕方〜その5〜 html.erbの記法

Posted at

<%= %>記法

htmlファイル上で、rubyの記述ができるようになります。

sample.html.erb
<!DOCTYPE html>
<html>

    <%=    ruby構文の記述     %>

</html>

htmlファイル上であっても、<%= %>で囲んだ範囲内では、rubyと同じ記法で記述しても処理されます。
.erbや .slimなどのファイルでよく見かける記法です。

<%= yield %>記法

元となるhtml.erbファイル上に記載することで、他のファイルで記述したhtml.erbの内容を呼び出すことに使用していました。

サイトページのヘッダーなどを共通化した記述にしておいて、本文を<%= yield %>と記記述。
別のhtml.erbファイルに各ページの要素を記述します。

index.html.erb
<!DOCTYPE html>
<html>
  <header> 
   〜
  </header>

  <body>
    <%= yield %>
  </body>
</html>
sample1.html.erb
<!DOCTYPE html>
<html>
  <body>
    <h2>はじめまして、もりくまです</h2>
  </body>
</html>
sample2.html.erb
<!DOCTYPE html>
<html>
  <body>
    <h2>プログラミングの勉強をしています</h2>
  </body>
</html>

上の例では、index.html.erbに記述された<%= yield%>が
他のファイルで記述された内容を呼び出す処理を行います。

「yield」について少し調べてみた所、「ブロック」という概念が出てきたので後日、詳しく勉強し、内容を更新します。

<%= link_to %>記法

リンクに飛ぶためのaタグと全く同じ機能を持った記述です。

html.erb
<link_to記法>
<%= link_to("トップページ", "/top") %>

<aタグ記法>
<a href = "/top">トップページ</a>

上の2つの記述は全く同じ内容で
「トップページ」というテキストに、「/top」のURL配下となっているページに飛ぶリンクを貼る機能を表します。

link_toの記法を用いた場合、

html.erb
<link_to記法>
<%= link_to("第1引数", "第2引数") %>

1,第1引数にテキスト内容
2,第2引数にリンク先の指定

が入る点に注意します。

今日はこのあたりで失礼します。

参考サイト

【Ruby】yield の役割
https://qiita.com/tzubasakat/items/749736e40161599ec6df

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3