ライブアプリのテストコード変更がフロントエンドに反映されない

こんにちは。

Joomla/WordPressでの開発経験から、Docker経由でのDiscourseのバックエンドファイル変更機能について興味があります。
プラグインの作成方法についてはドキュメントを読みました(https://meta.discourse.org/t/how-can-i-make-my-own-discourse-plugins/90032/2)が、まだそれはしたくありません。ただ、コードをライブでテストしたいだけです。

Dockerを使用しないMVCインストールでは、FTP経由でファイルを変更するとすぐに反映されていましたが、Dockerでは永続的な変更を適用するためにアプリを再構築する必要があることは理解していますが、ライブでテストしたい場合はどうすればよいでしょうか?

ライブでのコード変更テストは機能しないようです。

たとえば、匿名ユーザーの検索を無効にしたいので、次のように編集しました。
/var/www/discourse/app/controllers/search_controller.rbdef show の直後に「if current_user.present?」を追加し、関数の最後に end を追加しました。

これがフロントエンドに影響を与えないことに驚きました。コントローラーを search_controllerold に名前変更しても、検索には影響しませんでした。

しかし、なぜか /var/www/discourse/public/images# の画像をリネームすると、フロントエンドの画像が非表示になりました :)!

これはどのように機能するのか、誰か教えていただけますか?アプリがイメージから起動する以外に、システムには別のキャッシュされたバージョンがあるのでしょうか?

ありがとうございます。

Ok、コードは ./javascripts/discourse/node_modules/.embroider/rewritten-app/ のファイルを変更すると変更されることがわかりました。
これで良くなった気がします :slight_smile:

「いいね!」 1

それはアンチパターン以上のように見えます。

それはビルドごとに置き換えられる可能性が高いです。

Documentation > Developer Guides の資料や、数多くの実際のオープンソースの例を見て、Theme component を介してフロントエンドを、そして #plugins を介してフロントエンドとバックエンドの両方をどのように変更するかを確認してください。

「いいね!」 2

共有ありがとうございます!確認して、いつかもっと真剣に関わるかもしれませんが、今のところライブでの変更をテストしたかっただけで、Joomla/WordPressでのFTPのように簡単にフロントエンドに表示されない理由がわかりません。