Gem gretelを使ってパンくずを設定する方法
こんにちは。塩濱です。
今回はgretelというGemを使ってパンくずを設定する方法についてまとめていきたいと思います。
パンくずとはこんな感じで自分が今どのページにいるかわかるというものです。(間違ってたら修正します)
前提
今回使用するgreteというGemをインストールし、使えるるようになっていること。
使用方法
$ rails generate gretel:install
rails g
コマンドを使用してgretel:install
するとbreadcrumb.rb
というファイルが作成されます。
このファイルにパンくずの設定を書いていきます。
# config/breadcrumb.rb # 記法 crumb crumsの名前を指定 do link '表示させたい文字', その文字のリンク先 parent 親の指定 end
基本的な記法はこのようになります。
crumb :admin_tags do link 'タグ', admin_tags_path parent :admin_dashboard end crumb :edit_admin_tag do |tag| link 'タグ編集', edit_admin_tag_path(tag) parent :admin_tags end crumb :new_admin_article do link '記事作成', new_admin_article_path parent :admin_articles end
idが必要になるURLにはブロックでローカル変数を渡すことでidが渡されます。
viewの設定
ここまでできたらあとは、viewで記述するだけです。
<% breadcrumb :admin_users %>
先程
breadcrumb.rb
で設定したcrumb
の名前をつけることによってパンくずが設定されます。
また、crumb :edit_admin_tag
のようにローカル変数を渡しているものはview側でも変数を渡さなければいけません。
<% breadcrumb :edit_admin_tag, @tag %>
変数を渡すことで、エラーが出ずにパンくずが設定できているかと思います。
まとめ
パンくずはWEBサイト、WEBアプリケーションなどでよく使われるものだと思うので、しっかり理解していきたいと思いました。