Когда вы звоните javascript_include_tag :defaults
, вы обычно получаете: prototype.js
, effects.js
, dragdrop.js
и controls.js
.
Они хранятся в константе в ActionView::Helpers::AssetTagHelper
, которая называется 'JAVASCRIPT_DEFAULT_SOURCES`. Мое приложение использует jQuery, поэтому я хочу заменить ссылки на Prototype чем-то более полезным.
Я добавил инициализатор с этими строками на основе исходного кода из jRails:
ActionView::Helpers::AssetTagHelper::JAVASCRIPT_DEFAULT_SOURCES = %w{ jquery-1.4.min jquery-ui jquery.cookie }
ActionView::Helpers::AssetTagHelper::reset_javascript_include_default
Но когда я это делаю, я получаю: warning: already initialized constant JAVASCRIPT_DEFAULT_SOURCES
во время запуска.
Как правильно изменить это значение? В исходном коде он проверяет константу перед ее установкой, но, очевидно, это происходит до запуска сценариев инициализатора.
Релиз Rails 3.0 обеспечит гораздо большую гибкость при выборе библиотек JS, поэтому я думаю, что это проблема с датой истечения срока действия.