RGJ
(Richard - Communiteq)
1
安定版の 3.4.1 です。
私のプラグインには以下があります。
/assets/javascripts/discourse/controllers/user-feedback.js
そして
/assets/javascripts/discourse/templates/user-feedback.hbs には
{{feedback-stream stream=this.model}}
そしてこれらのファイルです。
/assets/javascripts/discourse/components/feedback-stream.js
/assets/javascripts/discourse/templates/components/feedback-stream.hbs
ブラウザコンソールでこのエラーが発生しています。
/discourse/templates/components/feedback-stream] feedback-stream は gjs を使用して作成されたため、そのテンプレートを上書きすることはできません。上書きを無視しています。テンプレートの上書きの将来については、https://meta.discourse.org/t/247487 を参照してください。
しかし、ご覧のとおり、gjs を使用して作成されたものではありません。
現在、このエラーは一時的に無視することにし、プラグインのモダナイゼーションを続けました。テンプレートを共配置した直後(mv templates/components/* components)にエラーは消えましたが、テンプレートは無視されたままです。
「いいね!」 2
RGJ
(Richard - Communiteq)
2
なるほど、パズルのピースが繋がり始めたようです。
コンポーネントは
export default class FeedbackStream extends UserStream {
となっており、UserStreamはgjsで記述されています。
間違ったエラーメッセージはさておき、これを最新化して元に戻すにはどうすればよいでしょうか?
「いいね!」 1
変更の目的は何ですか?文脈を理解できるようにするためです。
gjsでは、プラグインのアウトレットにしか依存できないと思います。
RGJ
(Richard - Communiteq)
4
現在の変更の目的は、プラグインを最新の安定版で再び動作するようにすることです 
このプラグインの特定の部分の目的は、既存のコンポーネントを大幅に再利用しながら、ユーザーのプロフィールページにフィードバックを表示することです。
david
(David Taylor)
5
FeedbackStream に gjs を使用する場合、機能するはずです。そのため、次のようになります。
export default class FeedbackStream extends UserStream {
<template>
ここにカスタムテンプレート
</template>
}
hbs/gjs を同じコンポーネントの継承チェーンで混在させるのは、あまりうまく機能しないと思います。
「いいね!」 3
david
(David Taylor)
6
BTW @Arkshine
を拝見しました。ここで明確にしておきます。テンプレートのオーバーライドは、元の作成形式に関係なく非推奨です。今後数か月以内に完全に削除します。それらのケースでは、プラグアウトレットが解決策であるというのは100%正しいです。
しかし、@RGJ がここで行っていることはテンプレートのオーバーライドではなく、Ember のコンポーネント継承システムを使用しています。
class Foo extends Component
の代わりに
class Foo extends SomeOtherComponent
とすることができます。この場合、コンポーネントは SomeOtherComponent のテンプレートを継承するか、自分でテンプレートを置き換えるかを選択できます。テンプレートの置き換えは Foo にのみ適用され、親の SomeOtherComponent には影響しません。
ただし、この種の継承は比較的まれに使用される機能です。私たちは、テンプレート内でコンポーネントを互いにラップする「コンポジション」を好む傾向があります。(例:DModal が使用されている方法)
「いいね!」 5
なるほど、説明してくれてありがとう!ここでの継承が見えませんでした。理にかなっています。
「いいね!」 3
RGJ
(Richard - Communiteq)
8
迅速なご協力と分かりやすいご説明、ありがとうございました、デイビッド!
「いいね!」 4
RGJ
(Richard - Communiteq)
クローズされました:
9
このトピックは最後の返信から30日経過により自動的にクローズされました。新しい返信はもう許可されていません。