2014-03-05 89 views
0

在我面前的一張紙上,我列出了107個姓名,家鄉,出生日期和性別列表。Mass創建模型的實例?

在我的Rails應用程序,我跑

rails g scaffold Person name hometown dob gender

是否必須通過創建的表單手動將每個人添加到數據庫?有沒有辦法從我的文本編輯器做到這一點?

+0

列表的結構是什麼?需要更多信息來提供解決方案。 –

+0

你可以寫一個方法,但如果他們在紙上,你仍然需要輸入所有的數據,或者你可以在控制檯中完成,你仍然需要輸入數據。 –

+0

@Baloo - 我知道我將不得不在某處輸入它們。但是有沒有一種更有效的方法比每次都將它們提交給一個表單呢? –

回答

3

您可以在db文件夾中使用seed.rb文件。您可以執行任意的Ruby語句來創建對象並將它們保存(或更新)到數據庫中。 只需列出一堆像這樣的語句並執行db:seed Rake任務。

Person.create(:name => 'Bob', :hometown => 'Bobington', :dob => '1980-06-25', :gender => 'male') 

注意,如果所創建的記錄中的一個發生故障的唯一支票或類似的東西(即不能插入到數據庫)的任務將失敗。如果可以的話,使用其他的rake任務(db:drop,db:create,db:migrate)'清理'數據庫,如果無法擦除,可以用手清空表格。

+0

這看起來正是我所期待的。讓我試試這個。我需要在'db:seed'後面運行'rake db:migrate'嗎? –

+1

@DylanRichards不,你需要在'db:seed'之前運行它。確切地說,是 –

+0

。 Seed是設置數據庫的最後一步。我擴展了答案,以便在執行種子時數據庫不爲空時也記下可能存在的問題。請注意,您始終可以調試種子文件來追蹤錯誤。 – KappaNossi

相關問題