0

Rails 3 アプリで複数の (そして競合する) JavaScript ライブラリを使用する場合の最善のアプローチを理解したいと思います。js の競合が発生する前に、application.html.erb テンプレートを使用して、すべてのページですべての JavaScript ライブラリ テンプレートを次のように定義しました。

<%= javascript_include_tag :all %>

すべての js ファイルを 1 つのファイルにキャッシュするつもりでした。しかし、mootool js ライブラリを使用してページを追加すると、他のいくつかのページが壊れてしまい、js ライブラリを変更しても問題を解決できませんでした。mootool ライブラリを利用するページ用の新しいコントローラーを作成することで解決策を見つけました。次に、他の (mootool 以外の) ページが使用するアプリケーション テンプレートを使用しない、そのコントローラー用のテンプレートを作成しました。

競合するライブラリを扱う場合、(js ライブラリを定義する新しい head セクションを使用して) 新しいコントローラーを作成する必要がありますか、それともより良い解決策があります。

また、すべてのライブラリを 1 つのファイルにキャッシュすることはできなくなりましたか? 私は、競合しない(そしてそれらをキャッシュする)すべてのJavaScriptライブラリでパーシャルを作成し、アプリケーションテンプレートのパーシャルにリンクできると考えています。また、mootools を使用するページでは、そのパーシャルにリンクし、mootool js ライブラリも宣言します。

4

1 に答える 1

0

Ryan Bates がコントローラー内の 1 つのアクションのみのレイアウトを選択する方法を説明している古い学校のRailsCastを掘り下げることで、答えの一部を見つけることができました。基本的なもの。

より良い解決策は、競合する JavaScript ライブラリを解決して、複数のレイアウトを使用する必要がないようにすることです。

于 2010-07-13T14:14:22.567 に答える