VS Studio コードエディターでコードの変更が機能しない

localhost の hbs フォルダーから別の hbs フォルダーにコードを移動すると、機能しません。テキストはそこに挿入され、そのページに表示されますが、まったく機能しません。ページを更新すると、すべてがリセットされます。これは単なる文字列のようです。

手伝ってもらえませんか?

たとえば、interface.hbs のすべてを account.hbs に挿入して機能させたい場合、どうすればよいですか?

この質問に答えることは、多くの人を助けることになると思います。

ご回答ありがとうございます。

それはもっと複雑です。これはエディターとは関係ありません。VS Code は優れた選択肢です。

Discourse は、フロントエンドで EmberJS を使用し、ルート、モデル、コントローラー、テンプレートを使用する MVC シングルページアプリです。

テンプレートのみを変更しても、通常は十分ではありません。

EmberJS について読むことをお勧めします。

しかし、例えば、機能がない理由の一部は、コントローラーが異なるためです。

これらは、アプリの JavaScript 部分のこの部分のすべてのコントローラーです。

https://github.com/discourse/discourse/tree/main/app/assets/javascripts/discourse/app/controllers/preferences

ここでのわずかな複雑さは、コンポーネントがコントローラーだけでなく、アクションにも応答する場合があることです。

さらに、これらの異なるルートのそれぞれに提示されるモデルについて心配する必要があるかもしれません。

プリフィックス preferences を持つプリファレンス ルートはここにあります。

https://github.com/discourse/discourse/tree/main/app/assets/javascripts/discourse/app/routes

さらに複雑になります。Ember が認識するデータは、ほぼ常にバックエンドによって配信され、バックエンドの Rails ルート、コントローラー(および多くの場合モデル)、およびシリアライザーの影響を受けるためです。 https://guides.rubyonrails.org/ を参照してください。

「いいね!」 4

コアに変更を加えようとしていますか(それはほとんどの場合望ましくありません)、それともプラグインを開発していますか?まだ見ていない場合は、Discourse プラグイン作成入門 Part 1: 基本的なプラグインの作成 を参照してください。

「いいね!」 3

はい、他の場所でいくつかの関数を取得する必要があるためです。

プラグインで「他の場所からいくつかの関数を取得する」ことができます。Discourse をフォークすると、1 か月以上使用したい場合は後悔することになります。Discourse をプラグインとしてインストールおよび管理できるダッシュボードを開発しました。

「いいね!」 5

Discourse にプラグインをアップロードし、plugins/notebook-main/assets/javascripts/discourse/controllers/notebook.js.es6 のインターフェイスファイルを必要なものに置き換えました。HBS テンプレートでも同様のことを行いました。

理論上はすべて機能しますが、変更を保存したくありません。

Uncaught Error: Property set failed: object in path "model.user_option" could not be found.
    Ember 3
    save notebook:194
    _join backburner.js:995
    join backburner.js:760
    Ember 4
    _triggerAction d-button.js:137
    click d-button.js:106
    Ember 2
    _run backburner.js:1013
    _join backburner.js:989
    join backburner.js:760
    Ember 6
    jQuery 8
    initialize click-interceptor.js:15
    initialize app.js:47
    runInstanceInitializers Ember
    each dag-map.js:231
    walk dag-map.js:145
    each dag-map.js:75
    topsort dag-map.js:83
    Ember 4
    invoke backburner.js:338
    flush backburner.js:229
    flush backburner.js:426
    _end backburner.js:960
    end backburner.js:710
    _run backburner.js:1015
    _join backburner.js:989
    join backburner.js:760
    Ember 2
    jQuery 12