3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rails パンくずリストの作り方(gem 'gretel')

Posted at

今回は業務の中で初めてパンくずリスト機能に触れたので、こちらについて勉強したことをまとめます。

パンくずリストとは?

パンくずリスト(Breadcrumbs)は、Webサイトのナビゲーション要素の一つで、ユーザーが現在のページに至るまでの階層構造やパスを表示するためのものです。パンくずリストは、ユーザーが現在どの位置にいるのかを視覚的に示し、上位のページや関連するカテゴリーに簡単に戻れるようにするために利用されます。

実装方法

では実際にはどのように実装をするのか?

まず、下記のgemを使用します。

gem 'gretel'

このgemの名前の由来は、グリム童話の「ヘンゼルとグレーテル(Hansel and Gretel)」に登場するキャラクター、グレーテル(Gretel)から来ています。

「ヘンゼルとグレーテル」は、グリム兄弟によって記録された有名なドイツの民話です。物語の中で、ヘンゼルとグレーテルは森の中に置き去りにされますが、パンくずを道しるべとして使って家に戻ろうとします。このパンくずが、「パンくずリスト」(Breadcrumbs)というナビゲーション手法の由来となっています。

gemfileに記述したらbundle installをします。

bundle install

実装後にはconfigフォルダに「breadcrumbs.rb」が作成されます。

中には下記のような記述がされています。
これは親記事の設定をすることができます。「"Home"」はリストで実際に表示されるテキストです。

crumb :root do
  link "Home", root_path
end

そこから子要素を作っていきます。

crumb "ページ名" do
  link "ビューに表示される名前", "リンクされるURL"
  parent :親のページ名(現在の前のページ)
end

具体例:
crumb :user_new do
  link "ユーザー登録", new_user_path
  parent :root
end

これで裏側の設定は完了です。

最後に表示したい場所に下記を設定してあげることで、適切にリストを作成することができます。
実際に設定した箇所にページ移行するとパンくずリストが表示されるようになります。

= breadcrumbs separator: ">"
3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?