К счастью не знаком с Rails. Но на angular.js это делается элементарно благодаря биндингам. Рекомендую посмотреть в его сторону. На сколько помню у рельс есть проект Api только для REST с урезанными контроллерами и без AcriveRecord. Обратите внимание на него.
Конкретно по вашей ситуации. Придется делать при выборе города в поле select запрос на сервер для получения городов и отображать их так как вы это делаете сейчас. Если связь 1:m или просто выводить значение если 1:1. Ну и конечно при загрузке по дефолту города в select, у вас уже должен быть подтянута связанная запись.
Удачи!