2016-03-06 52 views
3

在導軌上的ruby中,我們通常通過控制檯在模型中分配數據。 like @model = Model.attribute (data)。像@user = User.create("John")如何通過導軌上的ruby將固定數據分配給數據庫

我的問題是,如果我想要固定數據,我可以通過模型或控制器來完成嗎?所以如果我想改變細節,我不必在控制檯中查看和查找。

例如,我只需要5個用戶和5個用戶,所以我設置了user_id = 1是約翰user_id = 2是David ...等模型。我可以這樣做嗎?怎麼樣?

回答

7

您可以通過seeding data通過您的Rails應用程序中的seeds.rb文件創建「固定」數據。

假設您想創建一個具有特定數據的用戶。進入你的應用程序的db目錄並打開seeds.rb,您可以在其中添加用於在數據庫中寫入條目的代碼。

User.create( email: '[email protected]', 
       system_id: 2, 
       subdomain: 'foo', 
       external_id: '', 
       first_name: 'Joe', 
       last_name: 'Patron', 
       phone_number: '213 555 1212', 
       role: 'default', 
       user_status_id: 1, 
       password: 'password', 
       password_confirmation: 'password', 
       terms_accepted_at: datetime, 
       created_at: datetime, 
       updated_at: datetime) 

你可以看到,我們在調用無論從那個模型,你正在使用,並沿所有必需的參數傳遞create方法 - 換句話說,你只是使用Ruby構建的對象。

一旦您創建了所有對象,請記得在您重置數據庫以便運行seeds.rb文件來填充數據庫時,運行rake db:seed

相關問題