2012-11-29 40 views
15

我正在嘗試播種一組足球隊和足球陣地,而rails很奇怪,根本就沒有這樣做。正在運行rake db:seed沒有從seeds.rb加載

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 

所有看起來很好,但是當我打開我的網站,(這是以前工作的桃色的,我知道它的不存在的代碼)沒有記錄。

我正在加載三個對象:團隊,玩家和職位。有趣的是,當我成立一個新團隊時,沒有領域,但是當我去創造一個新的球員時,有些領域。

Seeds.rb看起來像這樣:

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') 

讓我知道你需要看看還有什麼,我在經驗不足的一個十字路口,一個莫名其妙的錯誤。

回答

44

我打算提出一個建議,希望你會看到一個錯誤。在你的種子文件中使用create!而不是create。如果模型不符合約束條件,則會導致操作拋出異常。試一試,看看它是否有幫助。

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

良好的通話丹,和Ben(唱像傑克遜五兄弟),失去了蛇案例。 gross :-)':position_short'和':position_name'等等...五塊錢它是attr_accessible – pjammer

+1

非常感謝!那就是訣竅。我遇到了很多驗證問題,它通過了所有的步驟,而且完成了。非常感謝你。 –

+0

如果可以的話,我會+10 – Mark

0

替代解決方案?

嘿大家,只是想添加一個可能的解決方案,以防上述以下建議不起作用。

我不得不重置我的數據庫,否則rails'db:seed'將以上述方式失敗。

這爲我工作:

rails db:migrate:reset 
rails db:seed 
相關問題