Это похоже на ошибку в Rails.Очевидно, что директивы в application.js не только раскрываются в отдельные файлы при включенном режиме отладки, но и включаются в application.js.Я не смотрел на код Rails для этого, но предположил, что это происходит из-за application.js, являющегося файлом JavaScript по умолчанию.Если вы переименуете этот файл во что-то другое, допустим, что default.js будет корректно включать в режим отладки файлы, указанные в директиве, а default.js будет выводить только JavaScript, который находится только в этом файле.Таким образом, не генерируется повторяющийся код.
Пример:
application.js
// = require jquery_ujs
foo ();
Результат:
1) jquery_ujs.js
2) application.js с содержимым jquery_ujs и foo ()
default.js
// = require jquery_ujs
foo ();
Результат:
1) jquery_ujs.js
2) default.js с foo ()