【问题标题】:Faker, Populator in multiple languages (English & Russian)多种语言(英语和俄语)的Faker,Populator
【发布时间】:2015-09-06 22:29:29
【问题描述】:

我正在使用 Ruby Gems FakerPopulator 在我的开发环境中创建虚假用户列表。

在我的数据库架构中,我有下表

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 将多种语言生成到一条记录中吗?

【问题讨论】:

    标签: ruby-on-rails ruby gem faker


    【解决方案1】:

    阅读 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多