Ну, актив-рекорд это старая и хорошо
разобранная уже тема. Да, это был предмет критики RoR, и они на эту критику отреагировали, добавив поддержку DataMapper, но нужно учитывать, что они были пионерами, а источником ActiveRecord был, все-таки PoEAA, а не RoR.
Я бы не сказал, что RoR - это один сплошной антипапттерн. Недостатки в нем, конечно же присутствуют, но их легко обсуждать с позиции современного уровня развития системной архитектуры, в формирование которой они же, собственно, и внесли весомый вклад, популяризируя PoEAA. Ошибка - это тоже ориентир на пути к успеху, и неотъемлемый атрибут эволюции.
Трудность изолированного юнит-тестирования и ActiveRecord - это два наиболее часто критикуемых аспекта RoR. За что ему нужно сказать спасибо, потому что первый из них привел к появлению довольно поучительного сериала "
Is TDD dead?".