Я думаю, что существует широкое согласие, которое является хорошей практикой для отделения вашего REST API от вашего основного веб-сайта.Основная причина заключается в том, что вы можете масштабировать свой API и веб-сайт независимо друг от друга.
Кроме того, в Rails имеется много промежуточного программного обеспечения, которое не требуется для сервисов без сохранения состояния (например, сеансы, файлы cookie, отображение представления и т. Д.)..).У Джеффа Дина есть хорошая статья о том, как удалить все это промежуточное ПО (http://pivotallabs.com/users/jdean/blog/articles/1419-building-a-fast-lightweight-rest-service-with-rails-3-).
). В настоящее время я просто использую новый респондент Rails 3 (response_with) в одном приложении, как для веб-сайта.и API. Веб-сайт используется в основном для административных целей.
Как бы вы отделили API от веб-сайта?
Я думаю, что вариант будет заключаться в упаковке всех моделей в гем, тогдаесть два разных приложения, одна облегченная служба REST и веб-сайт администрирования, которые будут размещаться в разных экземплярах Heroku, но иметь доступ к одной и той же базе данных MongoHQ.