После работы с ASP.Net MVC у меня есть вопрос о Rails. Раньше я работал с Rails, но немного ржавый. ASP.Net MVC tutorials recomment скрывает реализацию уровня данных с шаблоном репозитория. Это позволяет easiesr Injection Dependency для Unit Testing, а также отличную развязку контроллера от реализации модели.
Я помню контроллеры Rails напрямую, используя объекты Active Record, и модульные тесты с использованием тестовых баз данных, которые можно было легко настроить и снести. Это решает необходимость поменять местами для модульного тестирования, но все же кажется, что плохая идея иметь так много кода ActiveRecord, открытого в контроллере.
Итак, мой вопрос в том, что является последней лучшей практикой здесь? Являются ли настоящие (не издевательства) базы данных, все еще используемые для модульного тестирования? Разве Rails-разработчики напрямую называют ActiveRecord или абстракцией?