LoginSignup
8
4

More than 3 years have passed since last update.

Rails erbでの記号<% %>について

Posted at

<% %> / <%= %>ってなんだ

課題をこなしてく中で、しれっと出てきた「<%= %>」が分からず少し調べてみたノートがまとまっていたので、備忘録として残しておきます。

Railsの.erbという形式のファイルでは、<% %> <%= %>と囲むことで、HTMLファイルにRubyのコードを埋め込めるらしいです。
(erb = Embedded Ruby (=埋め込みRuby)の略)。

例えば、下記のコードを入力すると、

  • <% %> :変数の定義などに使用する
  • <%= %> :変数の値などに使用する
top.html.erb

<% language = "Ruby" %>
 <P><%= language %>を学ぶ</P>

↓結果

localhost:3001

スクリーンショット 2020-11-05 23.20.13.png

となります。
また、「<% language = "Ruby" %>」の変数の定義は、アクションで定義することが一般的です。

controller
 def top
   @language = Ruby
 end
top.html.erb

 <%= @language %>

※アクションで定義したviewの変数に「@」をつけることを忘れないように!

<%= form_for %>の使い方

top.html.erb

  <%= form_for ('モデルクラスのインスタンス') do |f| %>
        フォーム内容記入
  <% end %>

↓ コードに直すと

top.html.erb

  <%= form_for (@user) do |f| %>
     <% f.text_field :name %>
     <% f.submit %>
  <% end %>

という感じです。

top.html.erb

  <form class="top">
    <input name="">
  </form>

という形でもかけますが、<%= form_for %>のほうが短く書けますし、セキュリティーも高まるのでおすすめです。

参考記事

もっと詳しく<% %>について書いていただいてる方がいました。ありがとうございます。
Railsのerbで使われる記号の意味

8
4
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
8
4