gem gretel をslimを使って、詰まったちまったエラー


gem gretel とは

  • パンくずを作成してくれる便利なgemです。

パンくず: 利用者がサイト内で現在に位置を見失わないようにするためのナビゲーションのようなものです。
(例)

今回導入方法などは割愛させていただきます。
下記記事などを参考に、進めてみてください!

Ruby on Rails – パンくずリストを簡単に作成できるgem gretel
Ruby on Railsでパンくずリストを表示するGem gretelの使い方メモ

今回起きた事象

下記ファイルでパンくずを読み込む。

application.html.slim内

= breadcrumbs

index.html.slim内

- breadcrumb :watasan_campaign

すると、要素が表示するようになってしまう.......

原因

リンクをつなげている  の文字にエスケープが行われている。

エスケープ: HTML文の中では「<」「>」>「&」「"」といった文字は特別な意味を持つため、HTMLタグを含む文字列をそのまま出力してしまうと違う意味になってしまう。したがって、特別の意味を持つ文字が含まれる文字列を文字列として出力されたい時には、特別な意味を持つ文字をエスケープした上で出力する必要があります

したがって
安全な文字列であるとして、特殊な文字もそのまま出力させる。
つまりエスケープさせないように表示させる必要がある。

application.html.slim

== breadcrumbs

==を使って表示させること!!
slimのREADMEに書いてありました。
https://github.com/slim-template/slim#output-without-html-escaping-

参考

gem lassebunk/gretel
gem slim-template/slim
Ruby on Rails – パンくずリストを簡単に作成できるgem gretel
Ruby on Railsでパンくずリストを表示するGem gretelの使い方メモ