19

Is it possible to comment out this line in the new app/assets/application.js file? If so, how?

//=require jquery_ujs

I mean, it's already commented out to avoid being misconstrued as CoffeeScript or JavaScript, but it's obviously serving a purpose still.

apneadiving
  • 114,565
  • 26
  • 219
  • 213
c3rin
  • 1,907
  • 15
  • 16

4 Answers4

32

Taken from the Sprockets 1.02 github (Sprockets 2 is what rails 3.1 uses to accomplish asset loading):

How Sprockets handles comments

Use single-line (//) comments in JavaScript source files for comments that don't need to appear in the resulting concatenated output.Use multiple-line (/* ... */) comments for comments that should appear in the resulting concatenated output, like copyright notices or descriptive headers. PDoc (/** ... **/) documentation comments will not be included in the resulting concatenation.

Comments beginning with //= are treated by Sprockets as directives. Sprockets currently understands two directives, require and provide.

What this means is that //= jquery_ujs is a directive. It instructs Sprockets to include the jquery_uls file when it compiles all the jquery files.

If you don't want that file included, just remove the equals sign and the directive becomes a comment.

David Tuite
  • 22,258
  • 25
  • 106
  • 176
13

Short and fast ...

//require jquery_ujs

... just remove the = sign.

static RYU
  • 131
  • 1
  • 2
5

What I hate about this, is that it is really looking for a = inside a single line comment instead of the combination of //=.

To disable, put the // after the //=:

//= // require jquery_ujs

or kill the equal sign

// require jquery_ujs

Anything before the = will not work:

//!= require jquery_ujs
Christopher Oezbek
  • 23,994
  • 6
  • 61
  • 85
1

You can do something like this:

///* My Application Scripts
//= 'require jquery'
//= 'require jquery_ujs'
//= require_tree .
//= require_self
*///

require lines with ('') will not be loaded.

Edison Machado
  • 1,410
  • 19
  • 29