Причина, по которой предлагается не помещать файлы .js в app/views/[object]
, заключается в том, что они не являются частью приложения Rails. Они на самом деле являются частью приложения / фреймворка Backbone или Jammit, поэтому они не принадлежат каталогу приложения. Если это файлы .js.erb, то они должны находиться в каталоге приложения, но поскольку они не принадлежат каталогу public/javascripts
.
Никто не мешает вам сделать это, но поскольку они не являются файлами шаблонов .erb, они на самом деле не принадлежат каталогу приложения. Это публичные файлы .js. Причина, по которой они не являются частью основного приложения Rails, заключается в том, что они не заканчиваются на .erb и функционируют самостоятельно, независимо от контроллеров или классов ruby, таких как изображения и файлы CSS.
Имейте в виду, что если они находятся в каталоге / app / views, то их придется обслуживать через Rails. Другими словами, вам понадобится контроллер сервера, и это добавляет дополнительную сложность и нагрузку на ваши серверы. Более того, если им не требуется передавать данные ruby с ваших контроллеров в представления, у вас будут довольно простые / бессмысленные контроллеры, которые просто обслуживают статические данные. И вам, вероятно, придется переименовать файлы в .js.erb, чтобы они могли обслуживаться через эти контроллеры. Если файлы обслуживаются напрямую из общедоступного каталога, в этом нет необходимости, поэтому все гораздо проще.
Нет ничего плохого в том, что один каталог зеркально отображает другой, это часто случается, например, с RSpec spec / models, spec / views, spec / controllers.