Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

including jquery_ujs twice does not raise an error #83

Closed
niklas opened this issue Oct 16, 2012 · 2 comments
Closed

including jquery_ujs twice does not raise an error #83

niklas opened this issue Oct 16, 2012 · 2 comments

Comments

@niklas
Copy link

niklas commented Oct 16, 2012

I just included jquery_ujs twice (once in the head, once in the footer - merge accident) and did not get a warning like "jquery-ujs has already been loaded!", but instead all Rails-related events where fired twice: clicking an a[data-remote] triggered 2 ajax requests, forms are submitted twice.

@matthewotto
Copy link

Looks like this only occurs when both jquery and jquery_ujs are included twice on the page, and the 2nd jquery_ujs is included after the 2nd jQuery file.

If there are only 2 copies of jquery_ujs included on the page, but one copy of jQuery, then the "jquery-ujs has already been loaded!" message is displayed in the javascirpt console.

Steps to reproduce:

  1. Create new rails app
  2. rails generate scaffold thing name:string
  3. Added ujs and jquery scripts to bottom of app/views/layouts/application.html.erb
  4. Create new "thing"
  5. Click "destroy" link for newly created thing
  6. 2 alerts confirming "Are you sure?" (Only one delete request sent to server)
  7. No "jquery-ujs has already been loaded!" message
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.2]
jquery-rails (2.1.4)
rails (3.2.8)
Chrome 23.0.1271.95

@JangoSteve
Copy link
Member

Oh that's crazy, I hadn't thought of that scenario. It makes sense though, because the way we checked before was to see if the rails bindings were present on the jQuery object, but if you create a new jQuery object, then it'd redefine the object after the rails attachments (meanwhile all the events bound to the DOM get duplicated).

This ticket should be over on rails/jquery-ujs though, not jquery-rails. But I'm not really sure how we would solve this (or to be honest, if we even should). At any rate, it did make me look at the duplicate detection again and simplify it in my latest commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants