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

Nic*_*ick 2 ruby ruby-on-rails faker ruby-on-rails-4

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

name  = Faker::Company.name
Run Code Online (Sandbox Code Playgroud)

这里我想包括最大长度,因为name有最大的模型限制.40个字符.

code_id = Faker::Number.number
Run Code Online (Sandbox Code Playgroud)

对于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'
Run Code Online (Sandbox Code Playgroud)

我应该如何调整Faker以满足我的需求?

Ser*_*sev 7

对于名称,你可以切断生成的部分的额外部分(你不关心那里有半成品的话,对吗?)

name = Faker::Company.name[0..40]
Run Code Online (Sandbox Code Playgroud)

对于您可以直接使用Faker::Number.between或使用核心红宝石的数字rand.

rand(1..50)
Run Code Online (Sandbox Code Playgroud)