パンクズの設定について

どうもどハマりエンジニアです。

 

パンくずとは、パンくずリストを省略した表現で、ユーザーが今WEBサイト内のどの位置にいるのかを視覚的に分かりやすくするため、上位の階層となるWEBページを階層順にリストアップしてリンクを設置したリストのことを指しています。

 

このパンくずをサイトに設置してあげることで、

  • ユーザーがどのページをよんでいるのか瞬時にわかるようにする
  • クローラー巡回を手助けする
  • 内部 SEOに有効

などのメリットがあります。

Gemfile

gem 'gretel'

 

 $bundle install 

$rails generate gretel:install

config配下にbreadcrumb.rbというファイルが生成されるので、そこにパンくずの定義を一元化してまとめた後、viewファイルから呼び出します。

 

config/breadcrumbs.rb

crumb :admin_dashboard do
  link 'Home', admin_dashboard_path
end

crumb :edit_admin_site do
  link '設定', edit_admin_site_path
  parent :admin_dashboard
end

crumb :admin_users do
  link 'ユーザー', admin_users_path
  parent :admin_dashboard
end

crumb :admin_user do |user|
  link 'プロフィール', admin_user_path(user)
  parent :admin_users
end

parentで親を指定してあげることで、前の情報を引き継ぐことができます。

 

users/show.html.slim

- breadcrumb :admin_user, @user

 このように記載してあげるだけで、いい感じに表示してくれるようになります。