如何使用JQuery.noConflict()将jQuery之间的冲突解决和引导在轨道3.2.12?

2019-10-29 11:25发布

$.noConflict()被添加到application.jsrails 3.2.12主应用程序来解决之间的矛盾jquerybootstrap 。 但是它没有按预期工作。 这里是application.js中:

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_tree .
//= require bootstrap

$.noConflict();

当点击新客户的形式add_more_contact环节,有萤火虫的错误:

ReferenceError: add_fields is not defined

add_fields是在的application.js定义的js函数:

function add_fields(link, association, content) {
  var new_id = new Date().getTime();
  var regexp = new RegExp("new_" + association, "g")
  $(link).parent().before(content.replace(regexp, new_id));
}

add_fields,传入三个的呼叫是通过application_controller.rb的方法实现:

def link_to_add_fields(name, f, association)
  new_object = f.object.class.reflect_on_association(association).klass.new
  fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
    render :partial => association.to_s, :locals => {:f => builder, :i_id => 0} 
  end
  link_to_function(name, "add_fields(this, \"#{association}\", \"#{j fields}\")")
end

该代码引导之前的工作。 有什么不对使用noConflict() 我们是否需要添加noConflict()来/views/layouts/application.html.erb呢? 感谢帮助。

更新:这里是新客户页的标题:

Answer 1:

有jQuery和bootsrap,相反之间没有冲突,jQuery是用于引导工作的要求。

但有jQuery的UI和引导,这已经减轻通过在项目之间的冲突http://addyosmani.github.io/jquery-ui-bootstrap/ 。

无论如何,我认为上面的代码应该无需调用noConflict工作。



文章来源: How to use JQuery.noConflict() to fix conflict between JQuery and bootstrap in rails 3.2.12?