Как изменить JAVASCRIPT_DEFAULT_SOURCES для моего приложения? - PullRequest
0 голосов
/ 19 января 2010

Когда вы звоните 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, поэтому я думаю, что это проблема с датой истечения срока действия.

Ответы [ 2 ]

0 голосов
/ 19 января 2010

Согласно этой теме на ruby-forum вы не можете. Хотя, если вы посмотрите здесь , есть несколько файлов .diff, которые вы можете получить, которые, по крайней мере, позволят вам сделать что-то вроде этого:

# environment.rb
ActionView::Helpers::AssetTagHelper::register_javascript_expansion :monkey, "head", "body", "tail"
ActionView::Helpers::AssetTagHelper::register_stylesheet_expansion :monkey, "head", "body", "tail"

# your .erb/.haml files
javascript_include_tag :monkey
stylesheet_link_tag :monkey

Я знаю, что это, очевидно, не поможет вам сделать то, что вы пытаетесь сделать, но, надеюсь, это, по крайней мере, поможет вам в положительном направлении.

0 голосов
/ 19 января 2010

Почему бы просто не сделать что-то подобное?

<%= javascript_include_tag "jquery-1.4.min", "jquery-ui", "jquery.cookie" %>

Вам не нужно использовать опцию ": defaults". Взгляните на:

http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html#M001713

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...