Поскольку вы используете ROR, правильно ли говорить, что вы используете 3.1 с конвейером активов?Если вы не используете 3.1, тогда эта информация может быть полезна, в зависимости от того, как вы работаете.
Конвейер ресурсов в 3.1 приведёт ваши js-файлы в алфавитном порядке, когда файлы находятся в одной папке.,
Из-за этого, city_view.js будет выполняться до location_view.js.Затем, когда CitiesView
пытается определить себя, LocationsView
еще не существует.(Но это немного смущает меня, потому что не следует ли вам использовать файлы .coffee вместо файлов .js?)
Вам нужно будет изменить порядок файлов в конвейере ресурсов (контролируемый с помощью комментариев)чтобы правильно выполнить файл ... или изменить имена.
Другими словами, вы можете сказать Sprockets (вещь в RoR, которая управляет вашим конвейером активов), чтобы сначала требовался другой файл.
Вверху вашего cities_view.coffee
файла вы можете добавить следующую строку:
##= require ./locations_view
Удачи