2015-06-21 6 views
0

Я использую Ruby Gems Faker, Populator, чтобы создать список поддельных пользователей в моей разработке environement.Faker, Populator на нескольких языках (английский и русский)

В моей схеме базы данных У меня есть следующая таблица

admin_customers 
|- latin_first_name 
|- latin_middle_name 
|- latin_last_name 
|- cyrillic_first_name 
|- cyrillic_middle_name 
|- cyrillic_last_name 

Вот пример того, как я хотел бы хранить данные по каждому полю:

latin_first_name = "Viola" 
latin_middle_name = "Lyagushkina" 
latin_last_name = "Georgievna" 
cyrillic_first_name = "Виола" 
cyrillic_middle_name = "Люгашкина" 
cyrillic_last_name = "Георгиевна" 

Это то, что мой populate.rake файл выглядит так:

namespace :db do 
    desc "Create 100 customers" 
    task :populate => :environment do 
     require 'populator' 
     require 'faker' 
     Admin::Customer.destroy_all 
     Admin::Customer.populate 100 do |customer| 
     Faker::Config.locale = :ru 
      customer.cyrillic_first_name = Faker::Name.first_name 
      customer.cyrillic_middle_name = Faker::Name.last_name 
      customer.cyrillic_last_name = Faker::Name.last_name 
     Faker::Config.locale = :en 
      customer.latin_first_name = Faker::Name.first_name 
      customer.latin_middle_name = Faker::Name.last_name 
      customer.latin_last_name = Faker::Name.last_name 
     end 
     puts "created 100 users" 
    end 
end 

Однако все данные генерируются на латыни, знаете ли вы, как генерировать несколько языков с помощью Faker и Populator на одну запись?

ответ

0

Чтение файла YML дает ясность доступным командам для данного языка, синтаксис был прав, однако команды, необходимые для генерации кириллического имени, не были.

Faker::Config.locale = :ru 
    customer.cyrillic_first_name = Faker::Name.male_first_name 
    customer.cyrillic_middle_name = Faker::Name.male_middle_name 
    customer.cyrillic_last_name = Faker::Name.male_last_name 

 Смежные вопросы

  • Нет связанных вопросов^_^