【问题标题】:Faker gem: How to set max. length / range for resp. Company.name / Number.number?Faker gem:如何设置最大值。长度/范围分别为Company.name / Number.number?
【发布时间】:2015-07-29 06:03:59
【问题描述】:

我使用 Faker gem 来播种某些数据。如何设置最大值。假 Company.name 的长度,如何设置假号码的范围?

name  = Faker::Company.name

在这里我想包括最大长度,因为名称有最大的模型限制。 40 个字符。

code_id = Faker::Number.number

对于 code_id,我想要一个从 1 到 50 的范围。我试过 code_id = Faker::Number.number(from=1, to=50) 但这似乎不正确,因为在播种时会产生以下错误:

ArgumentError: wrong number of arguments (2 for 1)
/usr/local/rvm/gems/ruby-2.1.5/gems/faker-1.4.3/lib/faker/number.rb:4:in 'number'

我应该如何根据自己的需要调整 Faker?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 faker


    【解决方案1】:

    对于名称,您可以将生成的多余部分剪掉(您不关心那里的半成品,对吗?)

    name = Faker::Company.name[0..40]
    

    对于号码,您可以使用Faker::Number.between 或直接使用core ruby​​ rand

    rand(1..50)
    

    【讨论】:

      【解决方案2】:
      1. 您可以使用 I18n 覆盖数据并添加您自己的短名称:

        faker:
           name:
            short_names: [Ben, Ava...]
        
      2. Faker::Number.between

      【讨论】:

        【解决方案3】:

        你可以使用

        Faker::Lorem.words(50);
        

        它将返回 50 个单词
        https://github.com/Marak/faker.js/wiki/Basic-Random-Data

        【讨论】:

          猜你喜欢
          • 2018-07-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多