2016-01-19 80 views
2

您好,當我想rake db:seed在我的控制檯出現此唯一的消息導軌 - 通過Spring預加載過程8773運行 - 在我的控制檯

通過彈簧預加載在進程中運行8773

待辦事項你我該如何創造我的種子?當我將它部署到heroku master時,它不會出現?

這裏是種子:

rails = Course.create(title: "Ruby On Rails") 
models = rails.chapters.create(title: "Models") 

models.items << Lesson.create(title: "What is Active Record?", content: "Lesson content here") 

models.items << Exercise.create(title: "The Active Record pattern", content: "Exo about active record pattern") 
models.items << Exercise.create(title: "Object Relational Mapping", content: "Exo about ORM") 
models.items << Exercise.create(title: "Active Record as an ORM Framework", content: "Exo about ORM") 

models.items << Lesson.create(title: "Convention over Configuration in Active Record", content: "Lesson content here") 

models.items << Exercise.create(title: "Naming Conventions", content: "Exo about naming convention") 
models.items << Exercise.create(title: "Schema Conventions", content: "Exo about schema convention") 

models.items << Lesson.create(title: "Model summary", content: "Lesson content here") 

models.items << Exam.create(title: "Rails Models exam", content: "Exam content here") 

我想將它保存修復它的第一期培訓班,並刪除它摧毀它,當我完成了最後的版本。我試圖推動它heroku但種子消失。你知道爲什麼嗎?

+0

轉到db/seeds.rb並把它放在底部''puts puts「done」'''。現在重新運行您的命令以確認種子未運行 – MilesStanfield

+0

它的工作原理@MilesStanfield。 –

回答

1

我覺得自述說明了什麼春天是最好的

Spring是一個Rails應用程序預加載。它通過保持應用程序在後臺運行來加速開發,因此無需在每次運行測試,耙取任務或遷移時都引導它。

因此,您只能在您的本地計算機上看到此命令,因爲Heroku未使用Spring(或任何其他主機)。

,因爲你不printputs東西在你seeds.rb沒有出現在屏幕上,但它很可能是很好的爲Rails讓你知道,這是成功的!

您可以隨時檢查,如果種子數據已成功通過檢查什麼在你的數據庫加載,例如

Course.first.title 
=> "Ruby On Rails" 
Lesson.first.title 
=> "What is Active Record?" 

+0

好@MichalSzyndel,但是如果種子不能做到這一點,我該如何顯示一個真正的課程?我必須在我的模型中創建它? –

+0

我不明白你的意思? –

+0

我的意思是我想在MVC中創建課程(不在種子中)我在哪裏創建我的標題和我的內容=>在我的視圖中? –

0

彈簧預加載僅用於開發,它沒有必要也沒有用生產,因此沒有關於它的消息。

你的代碼本身不輸出任何東西,這就是爲什麼你沒有看到它。

我建議更改爲create!,以便在發生錯誤時會出現異常和大量輸出。

+0

謝謝@Vasfed是否​​將.create改爲.create!在所有創造使用在種子? –

+0

@BaptisteB。是的,否則沒有什麼會被默默保存,因爲你的代碼不檢查返回值 – Vasfed

+0

謝謝。我怎樣才能摧毀這顆種子?我是否將rails = Course.destroy? –