特定のカテゴリに対して任意の処理を行うテーマコンポーネントを作成しています。コンポーネント内でアクセスできる変数はカテゴリのリストのみで、正しいカテゴリを抽出したいと考えています。
c for c in category_list if c.slug == 'foobar'
Ember の制限されたロジックでは、以下のような処理が必要になります。
{{#if category.slug == 'foobar'}}
しかし、バニラ版ではこれができません。比較のような低レベルな処理のためにヘルパーを追加する必要があります。
主な選択肢は 2 つあります。
- リスト内の正しいカテゴリに対してのみ
Trueを返すメソッドやプロパティをオブジェクトに追加する。 eqヘルパーを登録する。こちら が標準的なようです。
{{#if (eq person "John")}} hello {{/if}}
現時点では、テーマコンポーネントでこれらのいずれかを行う方法がわかりません。
この投稿ではプラグイン内で 2 を行う方法が説明されていますが、テーマには無関係なようです。
どのように進めればよいか教えていただけますか?
また、コアチームは、discourse-commons に標準的なロジックヘルパーを追加することを検討していただけますか?私のようなスキルレベルの低いテーマ開発者にとって、非常に役立つはずです。