8

最初にこれを Programmers.SE に入力しましたが、特定の技術的な問題に関するアドバイスを求めているわけではないので、ここの方が適していると想像してください。ただし、移動するために自由に投票してください。

私は現在、Ruby on Rails の「Spree」電子商取引プラットフォームを使用するプロジェクトに取り組んでいます。構成して作業するのは完全に楽しいものでした。しかし、喜びはそこで止まりました。

私は完全にカスタムのインターフェースを開発しようとしています - デフォルト設定とはまったく似ていないインターフェースです。Spree のドキュメントでは、次の 2 つのオプションしかないことが示唆されています。

  1. defaceオーバーライドを使用します。どこにでも。他のオーバーライドをオーバーライドするようです。
  2. ビューを完全に再構築します。

当然のことながら、deface を使用してスタイルを劇的に変更することは完全な悪夢です。Deface完全な UI を書き直すことが期待される受け入れ可能な方法のようには見えません。また、非常に効率的でもありません。そこで、ビューを完全に再構築することにしました。

次に、約 8 つのプラグインがすべて deface オーバーライドに依存しており、ビュー ファイルがハードコードされており、ターゲット セレクターが(せいぜい) ' flakey ' であることが多いことに気付きます。

酒宴のウェブサイトにある非常に最小限のドキュメントを除けば、私が見つけることができるのは、さまざまな会議のスライドショーだけです。講演の文脈がなければ、実際にはほとんど役に立ちません。それらはすべて、大幅に単純化された変更に対して deface オーバーライドを使用することに重点を置いているようで、最近のものは 1 年以上前のもののようです。

何か不足していますか?このようなことを実行するためのベストプラクティスを知っている人はいますか? 私は実際にどこを見なければならないのですか?

4

3 に答える 3

5

汚損は巨大な災害です。全体のコンセプトは巨大なアンチパターンであり、完全で完全な、デバッグ不可能な悪夢につながります。Spreeコミュニティ、特にプラグインから離れて、アプリ内のビューレベルのカスタマイズのためのより良いオプションを提供することを本当に望んでいます.

Spree で Deface を使用しないことの最大の欠点は、カスタマイズしたコードが Spree の「ストック」ビュー コードから逸脱することです。Spree をアップグレードすると、2 つの異なるバージョン (カスタマイズと Spree のデフォルト) がアップグレードのたびに調整されます。まくる。そして、それをファイルごとに行う必要があります。

面倒ですが、作成するすべてのビューに「カスタマイズされたコードの開始」と「カスタマイズされたコードの終了」というコメントを挿入することで、少し楽になります。これにより、アップグレード プロセスが少しスムーズになりますが、それでも簡単な答えはありません。

Winston Churchill が Rails 開発者だったら、「Spree でのビューのオーバーライドは、他のすべてを除いて、カスタマイズの最悪の形式です」と言うでしょう。

于 2014-12-10T16:12:39.210 に答える