【Rails】パンくずリストのgretel gemをViewで個別に表示する

RubyonRailsでパンくずリストといえばgretel gemなわけだが。

使い方としては、パンくずを出力するために「app/views/layouts/application.html.erb」に<%= breadcrumbs %>を書いて…というのが一般的だ。
しかし、メニューバーなどの絡みもあって、パンくずを表示させたい場所によってはlayouts/application.html.erbに書きたくない場合もあるだろう。

ということで、個別のViewにpartialによる部分テンプレートを用いて書いていくことで、この問題を解決させたい。
(部分テンプレートは必ずしも必要ではないが)

まず、部分テンプレートとして、app/views/common/_breadcrumb.html.erbに以下のように記述する。


<%= breadcrumbs separator: " › " %>

そして、この部分テンプレートを引用しつつ、Viewファイルに以下のように記述する。


<% breadcrumb :hoge %>
<%= render partial: 'common/breadcrumb' %>

パンくずの設定ファイルである、config/breadcrumb.rbの記述は通常と同じ。


# Root
crumb :root do
  link "Home", root_path
end

# hoge
crumb :hoge do
  link "Hoge", hoge_path
  parent :root
end

これで、好きな場所にパンくずリストを表示させられる。
パンくずリストは、ユーザビリティを高めるためには非常に重要なので、手を抜かず構築したい。

・ご参考
-パンくずリストを出す gretel gem が使いやすくて感動した
https://muryoimpl.com/blog/2014/04/03/gertel-gem/
-gretelで個別にviewにパンくずを表示する
http://qiita.com/tatsuyard/items/589f364ea044e1b43914

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください