Jquery 警告:已初始化常量JAVASCRIPT\u默认\u源
我使用jrails插件从原型库切换到jquery。之后我得到了警告:Jquery 警告:已初始化常量JAVASCRIPT\u默认\u源,jquery,ruby-on-rails,jrails,Jquery,Ruby On Rails,Jrails,我使用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_SOUR
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\u DEFAULT\u源在哪里?如何修复此警告?看起来好像/rails/init.rb文件中的jrails插件中也设置了ActionView::Helpers::AssetTagHelper::JAVASCRIPT\u DEFAULT\u源代码 警告是否导致应用程序出现问题 如果你想去掉它,你可以删除插件的/rails/init.rb中的引用,或者用if来检查常量是否已经存在
我正在寻找这个答案。在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'
在布局中,用jquery和jrails显式替换默认值:
= javascript_include_tag :jquery
= javascript_include_tag :jrails
有利的是,这种方法更具描述性。jrails的目的之一是通过jQuery替换prototype,prototype在Rails 1.x和2.x中是默认的。因此,
JAVASCRIPT\u DEFAULT\u SOURCES
被覆盖。rails可以识别这一点并发出警告。这是一个特性,而不是一个BUG
这些天我在重新设计compass jquery插件,从“W.I.p”变成“发布”。我将添加更多Assettaghelper。此警告不会在应用程序中引起问题,但在运行Mongrel或script/generate时会出现此警告。我不喜欢警告。实际上,我使用了src/jrails/config/initializers/jrails.rb中的这个声明,但在我看来,它只是源代码。我已经试着注释了我的app/config/initializers/jrails.rb中除了一个之外的所有JAVASCRIPT_DEFAULT_源声明。没有什么变化。如果我在我的_app/config/initializers/jrails.rb中对它进行注释,javascript default不会重置.Dave,实际上我几乎按照您的建议将其删除。谢谢