Ответ 1
Вы правы в том, что backend Rails и frontend SPA не должны разрабатываться как один проект. Они должны разрабатываться самостоятельно, а также проверяться независимо. В идеале, не должно быть прямого взаимодействия между ними вне вашего этапа env и ваших тестов интеграции e2e.
Другое дело, что вам не нужно помещать ваше приложение angular в ваш общий каталог. Скорее всего, у вас будет Пассажир/Юникорн/Puma, который будет обслуживать ваше приложение Rails, и они не обязательно будут служить вашему приложению angular. Лучше обслуживать их непосредственно из упрочненного веб-сервера, такого как NginX. Они не только намного быстрее, но и более настраиваемы. Это освобождает вас даже от создания CDN с обычным происхождением, чтобы ускорить время отклика вашего сайта.
Генераторы Yeoman сделаны именно для этого. Если бы вы собирались вместе создавать свои SPA и Rails, вам не нужны все эти задачи Grunt для конвертирования LESS/Coffee/Jade и т.д.; Rails автоматически выполнит их для вас. Они были разработаны для оптимизации разработки SPA без полной серверной среды.