なぜ ENV を追加してもクライアント側のサイト設定が更新されないのか

こんにちは @sam さん、

もしかしたら私の読み方が間違っているか、やり方が間違っているのでしょうか?

app.yml にカスタム環境変数を追加しました。

env:
   DISCOURSE_MY_ENV_TEST:  app

そして、すべてのサイト設定をダンプする小さなカスタムプラグインを使ってコンテナを再構築しました。

console.log(Discourse.SiteSettings);

期待通り、すべてのサイト設定がコンソールにきれいにダンプされました。しかし、app.yml で設定したカスタム env 変数は、予想通りサイト設定に反映されていないようです。

私のやり方が間違っているのでしょうか?

このトピックを探した理由は、プラグインで使えるように環境変数をアプリケーションに取り込む簡単な方法を探していたからです。app.yml ファイルに追加することで、あなたが言及しているようにこれができるのかと思いました。しかし、期待通りに動作していません。

追伸:この古いトピックを掘り起こして申し訳ありませんが、サイトを検索した結果、これが最も近い一致だと思い、新しいトピックを立てるよりもこちらで返信した方がよいと考えました。

「いいね!」 1

これを機能させるには、サイト設定を含むプラグインを定義する必要があります。単に ENV からクライアントへ何も考えずに渡しているわけではありません。

「いいね!」 2

こんにちは、サムさん。

理解したつもりですが:

要するに、yml ファイルで新しい env: 変数を定義し、それをアプリのサイト設定で利用するには、その目的のためにプラグインを作成して(yml ファイルから設定可能な追加の環境変数をサイト用に追加する)、それを行わない限り不可能だということでしょうか。

私の理解は合っていますでしょうか?

ありがとうございます!

「いいね!」 1

はい、新しいサイト設定を定義したい場合は、プラグインに追加する必要があります。

「いいね!」 4