2014-04-05 27 views
0

我正在編寫基於瀏覽器的RPG,我試圖找出存儲「種子」數據的最佳方式,即。數據如地點,怪物和物品,這些都是遊戲的標準實體。種子數據與類哈希

最好將它存儲在一個「def self.items ..」散列中,其中我保留所有不同的項目,或者我應該將它們放入數據庫並播種它們?如果我應該播種它們,那麼完成這個的最好方法是什麼?只需填充200-300個不同實例的seed.rb文件或將它們保存在其他文件中?

回答

1

我絕對討厭混亂的種子文件。誠然,這是一種個人偏好,而不是對與錯。

這是我在我的應用程序在沒有要處理的工作,我們都需要使用種子數據的顯著量:

# Folder Structure 
db 
    schema.rb 
    seeds.rb 
    seeds/ 
    01_organization.rb 
    02_real_estate_industry.rb 
    03_click_types.rb 
    ... 

我seeds.rb文件:

# All seeds are broken out into ordinally names files inside the db/seeds/* directory. 
Dir[File.join(Rails.root, 'db', 'seeds', '**/*.rb')].each do |file| 
    require file 
end 

的樣本種子文件在種子/文件夾中:

organizations = Organization.all 
Organization.create(
    { 
    name: 'CompanyName', 
    blurb: 'Hi. I am a blurb.', 
    city: 'Some City', 
    state: 'ST', 
    web: 'http://www.somewebsite.com', 
    phone: '1-000-555-1212' 
    } 
) if organizations.empty? 

這會影響我們的種子文件的加載順序(我們01_然後02_等)。它還將我們的種子分解成邏輯分組,並以這樣的方式組織它們,對於我們的團隊,我們可以更輕鬆地管理它們。