LoginSignup
0
1

More than 5 years have passed since last update.

Railsで使う<% %>と<%= %>について

Last updated at Posted at 2017-05-09

どちらも、Railsを使うようになるとよく見るようになるものですが、HTMLやCSS、javascript、Ruby等を学んでいても出てこない(勉強を続けてるとだいたいどこかで見るでしょうが)ため、初見では「なんじゃ、これ?」となるでしょう。

これはhtml.erbのファイルで扱われるものです。

基本的にhtml.erbのファイルはviewsという見た目に関するファイルの格納されているディレクトリに入っていますが、<% %>も<%= %>もそれらにRubyの処理を施すためのものになります。
前者と後者の違いは、いざ作成した内容をブラウザに表示するとなった時に、その内容が目に見える形で出てくるか否か、ということです。

以下の例は<% %>で囲まれた内容の例になります。

ファイル名.html.erb
<% provide(:title, 'ホーム') %>
<h1>サンプル</h1>

上記のような内容の場合、ブラウザにはh1で囲われた「サンプル」という文字列しか映りません。
(ちなみに、上の内容がどういうものかは別の記事で書いている「yieldについて」で解説しています)

もう一つ、<%= %>についてですが、こちらはRubyの処理を行うと同時に、ブラウザに表示されます。以下はその例です。

ファイル名.html.erb
<!DOCTYPE html>
<html>
<head>
  <title>アプリ名 | <%= yield(:title) %></title>
  中略
</head>
<body>

<%= yield %>

</body>
</html>

この内容についても詳しいところはyieldについてで解説していますが、yieldで引っ張ってきた内容を、それぞれブラウザ上で表示します。

<% %>は表示しないRubyの処理
<%= %>は表示もするRubyの処理

と、以上のように覚えておけば大丈夫かと思います。

0
1
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
0
1