slimを使ってビューファイルを書いていて、scriptタグとしてjson schemaを書かないといけないニーズに遭遇した。

あれ、どう書くんだろう?となったのでメモ。

結論、以下のように|(パイプ)を使うと見やすくていいみたい。

他にもやり方はありそうだけど、自分はこのやり方が一番見やすいように思う。

例はJson SchemaでWebSiteを記載しておく方法。2行目の|が重要です。

script type='application/ld+json'
  |
    {
      "@context" : "https://schema.org",
      "@type" : "WebSite",
      "name" : "サンプルサイト",
      "url" : "https://example.com"
    }

slimでjavascriptをビューファイルの中に直接書きたい場合、javascript:を使えばいいけど、それだとtype='text/javascript'がついてしまう。

例みたいにtype='application/ld+json'としたいようなときはscriptと書いて上記のように書いてあげるのがよさそう。

ところで、slimは便利だ。railsでアプリを作る、となったら、もう自分には欠かせない。

erbは閉じタグが必要だし、html同様に<>を使ってタグを書かないといけない。

もちろん、エディタのコード補完を使えば、erbでもさほどビューファイルを書くのは面倒ではないかもしれない。

しかし、出来上がったコードの見やすさの点でslimの方が遥かに勝っていると思う。

この記事の環境情報

  • Ruby 3.1.2
  • slim 3.5.1