2013-10-09 41 views
0

我有一個物品的腳手架其中有約200+項是預先修復的。通過種子填充腳手架

因此,手動添加它們非常痛苦。

我可以在我的種子文件中填充腳手架,然後在生產中填寫db:seed

我不知道正確的方法,但我認爲這是這樣的:

items = Item.create([ 
    { name: 'css' }, 
    { name: 'css3' }, 
    { name: 'ruby' }, 
    { name: 'rails' }, 
    { name: 'python' }, 
    { name: 'html' } 
    ]) 

我在尋找一個解決方案,我的種子項目的腳手架......

回答

1

你必須這樣做,但你不需要將它賦值給items變量。

你只需要添加到你的項目的seed.rb文件的代碼。我之前添加了delete_all以避免創建重複的項目。

Item.delete_all 
Item.create([ 
{ name: 'css' }, 
{ name: 'css3' }, 
{ name: 'ruby' }, 
{ name: 'rails' }, 
{ name: 'python' }, 
{ name: 'html' } 
]) 

然後你必須用rake:db seed來爲你的數據庫播種。

2

通過在db/seeds.rb文件中添加數組中的剩餘項並嘗試運行rake db:seed命令,嘗試以下代碼。這會在項目表中生成預期的記錄。

['css','rubyonrails','java']。each do | item |

Item.find_or_create_by_name(:名稱=>項)

好運。