Faker,多种语言的 Populator(英语和俄语)
Faker, Populator in multiple languages (English & Russian)
我正在使用 Ruby Gems Faker, Populator 在我的开发环境中创建一个虚假用户列表。
在我的数据库架构中,我有以下 table
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 将多种语言生成到单个记录吗?
阅读 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
我正在使用 Ruby Gems Faker, Populator 在我的开发环境中创建一个虚假用户列表。
在我的数据库架构中,我有以下 table
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 将多种语言生成到单个记录吗?
阅读 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