5

RefineryのWYMEditorの動作を少し変更する必要があるプロジェクトに取り組んでいます。これは、開発環境で正常に機能する、自分のニーズに合わせてjquery.refinery.wymeditor.js使用​​および編集をオーバーライドすることで簡単に実行できます。rake refinery:override

ただし、本番環境では、オーバーライドは無視されます。つまり、コンパイルされたアセットにはjquery.refinery.wymeditor.jsバンドルからのファイルが含まれているだけであり、そのファイルをそこで直接編集すると、目的の効果が得られる場合がありますが、それは本来の方法ではありません。

奇妙なことに、この問題は、バックエンド関連のアセットをオーバーライドしようとしたときにのみ明らかになります。

私がリファイナリーエッジを使用していることを知っておくと便利かもしれません。

助けていただければ幸いです。

4

2 に答える 2

3

だから私はなんとかそれを打ち負かすことができました。最初に言及することは、製油所のソースコードを突っ込むことなしには不可能であるということです。

コメントにすでに書いているように、問題は、ビューに直接含まれていないが別のアセットで参照されているアセット(私の場合はwymeditor / jquery.refinery.wymeditor.js )をオーバーライドしようとしたことでした。 、宝石から取られました。また、スプロケットはRefineryのオーバーライドについて何も知らないため、参照されたアセットを相対パス、つまりgemから(したがって変更されていない状態で)取得しました。したがって、私の場合、解決策は、refinery / wymeditor.jsをオーバーライドすることであり、すべてが魅力として機能しました。

WYMEditor以外のバックエンドスクリプトを変更する必要がある場合は、変更する必要のあるスクリプトに加えて、他のすべてのバックエンドスクリプトを含むrefinery/refinery.jsをオーバーライドする必要があります。

ただし、大きな懸念事項が1つあります。これらすべてのオーバーライドを使用して、更新するファイルと更新しないファイルがあるため、エラーが発生しやすい更新を行いました。すべてをオーバーライドすることで回避できたかもしれませんが、それは事実上、更新がまったくないことを意味します。

于 2011-11-03T22:27:03.527 に答える
0

生成されたファイルの名前を変更し、元の名前の代わりにマニフェストに含めてみてください。同じものという名前の2つのアセットが存在する場合は、オリジナルを優先しているのではないかと思います。

于 2011-10-25T19:45:29.437 に答える