1. ホーム
  2. ruby-on-rails

どのように私はJekyllでifステートメントを連鎖させるのですか?

2023-09-26 15:32:37

質問

私はJekyllでロジック演算子を使用していますが、それは動作しません。

ページ1、2、3はすべて同じレイアウトを使用しています(多言語ソリューションの一部、うまく動作しますが、物事をDRYに保つためにいくつかのレイアウト制御のための論理ループが必要です)。

以下はそのコードです。

{% if page.type == "post" %}
{% include post.html %}
{% elseif page.class == "contact" %}
{% include contact.html %}
{% else %}
{{ content }}
{% endif %}

に分解すると、単なる elseif else のセットアップで、ツリーのうちの任意の2つを使用すると、すべてが動作します。しかし、私は3番目の条件を使用するとすぐにそれは壊れる。私はJekyllで2つの条件に限定されていますか?私は潜在的に作るために再構築することができます case 演算子を適用できるように再構築することができますが、私はここで根本的な問題を理解することを好むでしょう。すべてのおかげで。

どのように解決するのですか?

Jekyll / Liquidのelse-ifは、スペルです。 elsif 、すなわち。

{% if page.type == "post" %}
{% include post.html %}
{% elsif page.class == "contact" %}
{% include contact.html %}
{% else %}
{{ content }}
{% endif %}