#[初心者]パンくずリストの実装を行った。
忘れないためのメモとして、簡単にまとめる。
まず、どのように実装するといいのか調べた。
その結果、パンくずリストを実装するのに便利なgemが2つあることがわかった。
-
breadcrumbs_on_rails
-
gretel
の2つである。
それぞれの特徴として、
-
breadcrumbs_on_rails は、コントローラに記述が必要であり、カスタマイズがしやすい。
-
gretel は、コントローラに記述する必要がないため、シンプル。
今回、初の実装であるためシンプルで、コントローラに記述する必要のないgretelを使うことにした。
今回、行った手順
- GEMのインストール
- 設定ファイルを生成
- 設定ファイルを編集
- Viewにパンくずを表示させる記述
の以上である。
###1.GEMのインストール
Gemfileに以下を記述
gem 'gretel'
$ bundle install
###2.設定ファイルの生成
$ bundle exec rails generate gretel:install
これにより、config/breadcrumbs.rb が生成された。
###3. 設定ファイルを編集
crumb :任意の名前 do
link "表示するリンク名", リンク先のパス
parent :親リンクを指定
end
"例"
crumb :root do
link "メルカリ", root_path
end
crumb :show_user do
link "マイページ", user_path
parent :root
end
のように記述した。
###4. Viewにパンくずを表示させる記述
<%= breadcrumbs pretext: "先頭に挿入する文章を記述、いらない場合は削除する", separator: " › " %>
を表示したい場所に記述する。
› は、出力されると › になる。
そして、表示したいviewファイルに、対応した以下を記述するとパンくずリストが表示される。
<% breadcrumb :対応した名前 %>
#####追記:パンくずを特定のページのみで表示させたい場合、application.html.erbに記述してしまうとすべてのページで読み込まれてしまうため、表示したいviewファイル内で以下のように記述する。
<% breadcrumb :対応した名前 %>
<%= breadcrumbs pretext: "先頭に挿入する文章を記述、いらない場合は削除する", separator: " › " %>
よく使うなら、renderしてあげるとわかりやすいかも(2行目の記述を)
順番が違うと表示されないため、注意が必要
以上で、終わり
間違えていたらすみません。
何か追加で分かり次第追加していきたい。