1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rails】パーシャルを使う

Last updated at Posted at 2019-11-23

パーシャルのメリット

あちこちで使う部品を定義しておけば、
その部品を呼び出すだけで同じViewを出力できるようになる。

パーシャルファイルの作成

viewディレクトリに作成
_任意の名前.htil.erb <=_先頭にアンダースコアをつける。

繰り返し使用する部分テンプレート作成

form.html.erb

<%= form_for @board  do |f| %>
    <div class="form-group">
        <%= f.label :name, '名前' %>
        <%= f.text_field :name, class: 'form-control' %>
    </div>
    <div class="form-group">
        <%= f.label :title, 'タイトル' %>
        <%= f.text_field :title, class: 'form-control' %>
    </div>
    <div class="form-group">
        <%= f.label :body, '本文' %>
        <%= f.text_area :body, class: 'form-control', rows: 10%>
    </div>
    <%= f.submit '保存', class: 'btn btn-primary' %>
<% end %>

呼び出す先の記述


<div class="d-flex align-items-center">
    <h1>掲示板作成</h1>
    <div class="ml-auto boards_linkBox">
        <%= link_to '掲示板一覧', boards_path, class: 'btn btn-outline-dark'%>
    </div>
</div>
<%= render partial: 'form' %>   

<%= render partial: 'form' %> ハッシュ形式で呼び出し元のファイル名を記述

補足

<%= render partial: 'form', locals: { board: @board } %>
第2引数にlocals: { board: @board }と記載しておくと、どこからのインスタンス変数を使用しているのかがわかるので
バグが起こりにくくなる。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?