use*_*053 1 ruby ruby-on-rails ruby-on-rails-3 faker
我想创建数十个依赖于此数组中的数据的登录名,登录名:
logins = [
{
email: Faker::Internet.email,
password: "password",
first_name: Faker::Name.first_name,
last_name: Faker::Name.last_name
},
{
email: Faker::Internet.email,
password: "password",
first_name: Faker::Name.first_name,
last_name: Faker::Name.last_name
}
]
Run Code Online (Sandbox Code Playgroud)
有什么更好的方法来编写这个数组而不是将哈希复制和粘贴几十次?我熟悉 x.times do 但这不适用于数组。
这是我传入登录名的代码:
logins.each do |login|
li = LoginInformation.new(login: login[:email], password: login[:password])
if UserManager.save(li)
company_ids.each do |id|
li.contacts.create(first_name: login[:first_name], last_name: login[:last_name], email_address: login[:email], company_id: id, is_employee: true)
end
end
end
Run Code Online (Sandbox Code Playgroud)
简化logins数组创建的一种方法是将包含Faker方法的哈希对象作为块传递,如下所示:
logins = Array.new(10) { { email: Faker::Internet.email, password: 'password', first_name: Faker::Name.first_name, last_name: Faker::Name.last_name } }
Run Code Online (Sandbox Code Playgroud)
您可以将10本示例中的替换为您的用例所需的元素数量。
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1054 次 |
| 最近记录: |