Faker gem:如何设置最大值长度/范围Company.name / Number.number?

时间:2015-05-17 19:32:21

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

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

name  = Faker::Company.name

这里我想包括最大长度,因为name对max有一个模型限制。 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?

3 个答案:

答案 0 :(得分:6)

对于这个名字,你可以切断生成的部分的额外部分(你不在乎那里有半成品的话,对吗?)

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

对于该号码,您可以使用Faker::Number.between或直接使用核心红宝石rand

rand(1..50)

答案 1 :(得分:0)

  1. 您可以使用I18n覆盖数据并添加您自己的短名称:

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

答案 2 :(得分:0)

您可以使用

setTimeout( function(){
    if( typeof MktoForms2 != "undefined" ) {
        MktoForms2.whenReady( function (form) { 
            form.addHiddenFields({"Results_PDF_URL__c":"assignedCampaignID"});
        });
    }
}, 2000 ); // two-second delay

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