2012-11-29 21 views
15

Futbol takımları ve futbol pozisyonları bir dizi tohum çalışıyorum ve raylar garip basitçe bunu yapmıyor.Tırmık db: tohum loading.rb'den yüklenmiyor

rake db:seed --trace 
** Invoke db:seed (first_time) 
** Execute db:seed 
** Invoke db:abort_if_pending_migrations (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Invoke db:load_config (first_time) 
** Execute db:load_config 
** Execute db:abort_if_pending_migrations 

Tüm iyi görünüyor ama sitemde, çıkardığım zaman hiçbir kayıt vardır (daha önce şeftali çalışıyordu, ben orada kod olmadığını biliyorum).

Üç nesne yüklüyorum: takımlar, oyuncular ve pozisyonlar. İlginç bir şekilde, yeni bir takım oluşturduğumda, hiç alan yok, ama yeni bir oyuncuya girdiğimde, ARE alanları var.

Seeds.rb şuna benzer:

position = Position.create(:positionName => 'Quarterback', :positionShort => 'QB', :stance => 'offense') 
team = Team.create(name:'Patriots', location:'New England', conference:'AFC', division:'East', wins:'5', losses:'3') 

Ben acemilik kavşağı ve açıklanamaz bir hataya değilim, bana ne görmek gerekir başka ne bildirin.

cevap

44

Bir hata göreceğinizi umarak bir öneride bulunacağım. Tohum dosyanızda, create yerine create! kullanın. Bu, modelin kısıtlamalara uymaması durumunda işlemin bir istisna atmasına neden olur. Şunu ver ve yardım edip edemeyeceğini gör.

position = Position.create!(:positionName => 'Quarterback', :positionShort => 'QB', :stance => 'offense') 
team = Team.create!(name:'Patriots', location:'New England', conference:'AFC', division:'East', wins:'5', losses:'3') 
+2

İyi karar Dan ve (Jackson Five gibi söylenen) Ben, Yılan Harf kaybederler. brüt :-) ': position_short' ve': position_name' vs ... Beş dolar olduğunu attr_accessible – pjammer

+1

Çok takdir! Bu hile yaptı. Bir ton onaylama problemim vardı, hepsinden geçti ve bunu yaptı. Çok çok teşekkür ederim. –

+0

Yapabilirim +10 – Mark

0

Alternatif çözüm?

Herkese merhaba, sadece aşağıdaki önerilerin işe yaramadığı durumlarda olası bir çözüm eklemek istedim.

Veritabanımı sıfırlamak zorunda kaldım, aksi takdirde raylar db: seed 'yukarıda belirtildiği gibi başarısız olur.

Bu

benim için çalıştı:

rails db:migrate:reset 
rails db:seed