0

プロトタイプライブラリからjrailsプラグインを使用したjqueryに切り替えました。その後、警告が表示されます。

jrails.rb:17: warning: already initialized constant JAVASCRIPT_DEFAULT_SOURCES

jrails.rbは次のようになります。

ActionView::Helpers::PrototypeHelper::JQUERY_VAR = 'jQuery'
ActionView::Helpers::AssetTagHelper::JAVASCRIPT_DEFAULT_SOURCES = ['jquery.min', 'jquery-ui.min', 'jrails.min']
ActionView::Helpers::AssetTagHelper::reset_javascript_include_default
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :jquery => ['jquery.min', 'jquery-ui.min']

require 'jquery/jrails'

定数JAVASCRIPT_DEFAULT_SOURCESはどこで初期化されますか?この警告を修正するにはどうすればよいですか?

4

3 に答える 3

1

jrails.rb では、「default」を含む 2 行を削除 (またはコメント) する必要があり、jrails 用に 1 行を追加できます。

ActionView::Helpers::PrototypeHelper::JQUERY_VAR = 'jQuery'
#ActionView::Helpers::AssetTagHelper::JAVASCRIPT_DEFAULT_SOURCES = ['jquery.min', 'jquery-ui.min', 'jrails.min']
#ActionView::Helpers::AssetTagHelper::reset_javascript_include_default
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :jquery => ['jquery.min', 'jquery-ui.min']
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :jrails => ['jrails.min']

require 'jquery/jrails'

レイアウトでは、 defaultを明示的に jquery と jrails に置き換えます。

= javascript_include_tag :jquery
= javascript_include_tag :jrails

利点として、このアプローチはさらに説明的です。

于 2010-02-19T13:24:49.197 に答える
0

jrails の目的の 1 つは、Rails 1.x および 2.x のデフォルトであるプロトタイプを jQuery によって置き換えることです。そのため、JAVASCRIPT_DEFAULT_SOURCES上書きされます。これはレールによって認識され、警告につながります。これは機能であり、バグではありません。

最近、「WIP」から「リリース」に移行するために compass-jquery-plugin を作り直しています。AssetTagHelpers をさらに追加します。

于 2010-02-20T07:48:13.187 に答える
0

ActionView::Helpers::AssetTagHelper::JAVASCRIPT_DEFAULT_SOURCES もファイル /rails/init.rb の jrails プラグインに設定されているようです。

警告はアプリケーションで問題を引き起こしていますか?

それを取り除きたい場合は、プラグインの /rails/init.rb の参照を削除するか、if を配置して、定数が既に存在するかどうかを確認します。

この回答については、 http://github.com/aaronchi/jrails/blob/master/rails/init.rbを見ています。

于 2010-01-08T17:27:10.140 に答える