2012-06-13 45 views
1

我有一個Rails 3.2.2應用程序中的種子文件,爲我創建用戶來測試網站佈局和形式。它應該會生成一個管理員和10個用戶,但它只會創建管理員和2個用戶,而不會解釋爲什麼會停止。它不拋出和異常,一切看起來都很好,直到我檢查數據庫。Rails種子文件退出循環創建少於指定的用戶

這裏是代碼

require 'faker' 

# Create an Admin user to test the site with 
Admin.create first_name: "Admin", 
     last_name: "User", 
     email: "[email protected]", 
     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 

回答

0

如果你想創建或update_attributes方法提高對無效記錄異常,則需要使用相應的「砰」的版本。

Student.create! 
+0

謝謝,創建「砰」的幫助我找出問題所在。 Faker爲每個新用戶生成不同的郵政編碼和電話號碼,他們有時會有一個額外的號碼或較長版本的郵政編碼。我改變它來取出所有的非整數字符,只選擇範圍的前5位或10位數字。 – Rostepher

+0

感謝您描述確切的問題。它會幫助未來的觀衆。 – Salil