Попробуйте factory_girl. Мне лично приятнее работать с этим джемом. Один раз описал модельку:
Factory.define :user do |u|
u.sequence(:login) { |n| 'user_#{n}' }
u.email 'some@mail.com'
end
И вызываешь
user = Factory(:user)
или например
user = Factory(:user, :email => 'custom@mail.com')
Спасибо, я использую FactoryGirl для тестирования. Все-таки у Populator немного другое предназначание — быстро заполнить БД тестовыми данными. Если то же самое попробовать сделать с помощью FactoryGirl, то процесс займёт гораздо больше времени, потому что будут вызываться callback-и.
Я правильно понимаю, что Populator работает только с ActiveRecord? (а Faker не завязан на конкретном ORM) Лично я избегаю пользоваться ActiveRecord'ом, слишком неоптимизированный, более того не предоставляет разумных возможностей ручной оптимизации. В случае Datamapper ситуация обстоит лучше, но самый гибкий — Sequel.
Алтернатив Populator назвать не смогу, но точно знаю, что Faker был портирован из перловского Data::Faker (http://search.cpan.org/~jasonk/Data-Faker-0.07/).
Оу, я удивлен что только сейчас вышел «перевод» этих знаний :-)
Просто я хочу сказать тем, кто не знал о Populate до сих пор: подпишитесь на самые «крупные» блоги посвященные рельсам. В мире RoR на быть всегда вкурсе =)
Заполнение БД тестовыми данными при помощи Populator и Faker