問題1Ruby on Rails中db/seeds.rb代碼的作用域是什麼?
假設我寫db/seeds.rb
定義了一些變量,例如:user = User.create(...)
。
這些變量的範圍是什麼?
問題2
如果我有db/seeds.rb
的代碼數量較大,是它推薦給把它放在一個class
?
問題1Ruby on Rails中db/seeds.rb代碼的作用域是什麼?
假設我寫db/seeds.rb
定義了一些變量,例如:user = User.create(...)
。
這些變量的範圍是什麼?
問題2
如果我有db/seeds.rb
的代碼數量較大,是它推薦給把它放在一個class
?
的變量是在已經啓動的耙實例的範圍。 因此,如果一次啓動多個任務,他們將處於其他任務的範圍內。
例如
rake db:seed custom:sometask
實例變量以dB爲單位定義:種子可以在「sometask」
如果耙文件是因爲添加太多記錄的過大進行訪問,你可以移動數據即插入到yaml文件中,這可以使您的種子文件更清潔,而不是創建一個類。
種子數據是任何必須加載才能正常工作的應用程序。應用程序需要加載其種子數據才能在開發,測試和生產中運行。
種子數據基本不變。它通常不會在您的應用程序中編輯。但是需求可能會發生變化,因此種子數據可能需要在已部署的應用程序上重新加載。
回答你的第二個問題,在seed.rb
行的代碼不影響性能的種子的基本任務是初始化與預定義的記錄的數據庫。記住一點,父代創建是在創建子代之前完成的。
這裏有一些參考資料,可以幫助你