У нас недавно были большие споры об этом внутри нашей компании. Я думаю, в конце концов, мы решили, что если вы не можете использовать таблицы пространств имен в базе данных, нет смысла выделять пространство имен моделям. Мы решили поставить перед нашими моделями префикс (User, UserAddress, UserEmailAddresses) и поместить их в каталог пользователей, а затем использовать:
config.load_paths << "#{RAILS_ROOT}/app/models/users"
для загрузки моделей. Чтобы контролировать детализацию в наших моделях, мы делаем это часто:
has_many :addresses, :class_name => "UserAddress"
При создании мы создаем его так, как если бы не было пространства имен (скрипт / генерировать модель UserAddress), а затем вручную копировали его в каталог пользователя.
Shrug. Полагаю, в конце концов, все, что вам действительно дает, - это более чистая структура каталогов, что на самом деле доставляет больше хлопот таким пользователям VIM, как я, но хорошо для TextMaters.