Предупреждение: уже инициализированная константа JAVASCRIPT_DEFAULT_SOURCES - PullRequest
0 голосов
/ 08 января 2010

Я переключился с библиотеки прототипов на jquery с плагином jrails. После этого я получил предупреждение:

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 инициализируется еще? Как я могу исправить это предупреждение?

Ответы [ 3 ]

1 голос
/ 19 февраля 2010

В jrails.rb вы должны удалить (или прокомментировать) 2 строки с «default», и вы можете добавить 1 строку для jrails:

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'

В макетах замените по умолчанию явно на jquery и jrails:

= javascript_include_tag :jquery
= javascript_include_tag :jrails

Как выгоден этот подход еще более описательный.

0 голосов
/ 20 февраля 2010

одной из целей jrails является замена прототипа, который по умолчанию в Rails 1.x и 2.x, через jQuery. По этой причине JAVASCRIPT_DEFAULT_SOURCES перезаписывается. Это признается рельсами и приводит к предупреждению. Это особенность, а не ошибка.

В эти дни я переделываю compass-jquery-plugin, чтобы перейти от 'W.I.P' к 'release'. Я добавлю еще AssetTagHelpers.

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

Похоже, ActionView :: Helpers :: AssetTagHelper :: JAVASCRIPT_DEFAULT_SOURCES также установлен в плагине jrails в файле /rails/init.rb.

Является ли предупреждение причиной проблемы в вашем приложении?

если вы хотите избавиться от него, вы можете просто удалить ссылку в /rails/init.rb плагина или поставить if, чтобы проверить, существует ли константа.

Я ищу http://github.com/aaronchi/jrails/blob/master/rails/init.rb для этого ответа.

...