Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 Rails种子文件退出循环,创建的用户少于指定的用户_Ruby On Rails 3_Seed - Fatal编程技术网

Ruby on rails 3 Rails种子文件退出循环,创建的用户少于指定的用户

Ruby on rails 3 Rails种子文件退出循环,创建的用户少于指定的用户,ruby-on-rails-3,seed,Ruby On Rails 3,Seed,我在rails 3.2.2应用程序中有一个种子文件,它为我创建了一个用户来测试站点布局和表单。它应该生成一个管理员和10个用户,但它只创建一个管理员和2个用户,没有解释为什么停止。它不会抛出异常,在我检查数据库之前,一切看起来都很好 这是密码 require 'faker' # Create an Admin user to test the site with Admin.create first_name: "Admin", last_name: "User",

我在rails 3.2.2应用程序中有一个种子文件,它为我创建了一个用户来测试站点布局和表单。它应该生成一个管理员和10个用户,但它只创建一个管理员和2个用户,没有解释为什么停止。它不会抛出异常,在我检查数据库之前,一切看起来都很好

这是密码

require 'faker'

# Create an Admin user to test the site with
Admin.create first_name: "Admin",
         last_name: "User",
         email: "admin.user@example.com",
         password: "foobarbaz",
         password_confirmation: "foobarbaz"

# Generate 10 users to test with
10.times do
  student_address = { street: Faker::Address.street_address,
                  city: Faker::Address.city,
                  state: Faker::Address.us_state_abbr,
                  zipcode: Faker::Address.zip_code }
  first_name = Faker::Name.first_name
  last_name = Faker::Name.last_name

  Student.create first_name: first_name,
             last_name: last_name,
             email: "#{first_name}.#{last_name}@example.com",
             student_id: rand(10 ** 6).to_s.rjust(6,'0'),
             address_attributes: student_address,
             phone_number: Faker::PhoneNumber.phone_number,
             password: "foobar",
             password_confirmation: "foobar"
end

如果希望create或update_属性引发无效记录的异常,则需要使用相应的“bang”版本

Student.create!

谢谢,创建“砰”的一声帮助我找到了问题所在。Faker为每个新用户生成不同的zipcode和电话号码,有时他们会有一个额外的号码或更长版本的邮政编码。我把它改为去掉所有的非整数字符,只选择前5位或前10位的范围。谢谢你描述了确切的问题。它将帮助未来的观众。