Когда вы звоните: javascript_include_tag :defaults
вы обычно получаете: prototype.js
, effects.js
, dragdrop.js
и controls.js
.Как мне изменить JAVASCRIPT_DEFAULT_SOURCES для моего приложения?
Они хранятся в константе в 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
во время запуска.
Каков правильный способ изменения этого значения? В исходном коде он проверяет константу перед ее настройкой, но, по-видимому, это происходит до запуска сценариев инициализации.
Рельсы версии 3.0 обеспечит гораздо большую гибкость при выборе библиотек JS, так что я думаю, что это проблема с датой истечения срока.
Конечно, я уже это делаю. Я пытаюсь понять, как использовать ': defaults' просто потому, что я _want_. Нет причин, по которым веб-инфраструктура должна быть настолько тесно связана с инфраструктурой javascript. –