静态生产数据在轨道中存在于何处?

时间:2016-09-28 03:01:18

标签: ruby-on-rails activerecord

我目前正在开发一款游戏。它是各种各样的资本主义游戏,购买,出售,任务等。

随着我开发功能,商店,物品和东西。我知道我最终会想要将所有这些硬编码数据放在某处。在开发过程中,它目前正通过db/seeds.rb加入数据库。有没有更好的地方把我知道的数据放在生产中是静态的?实际上,唯一将动态变化的数据是与用户和用户与静态数据之间的表连接有关的数据。

在过去的应用程序中,我在迁移过程中放置​​了一些静态数据,但是这个游戏的静态数据将远远超过我这样做的时间。这是最好的做法吗?

以下是db/seeds.rb中的一些示例数据,我认为这些数据可能会有更好的主页:

pencil = Item.create(name: "pencil", value: 2, karma: 0)
lemon = Item.create(name: "lemon", value: 4, karma: 0)
pog = Item.create(name: "pog", value: 2, karma: 0)

child_store_items = [pencil, lemon, pog]
child_store = Store.create(name: "KB Toystore", karma: nil, min_age: 0)
child_store_items.each do |item|
  StoreItem.create(store: child_store, item: item, quantity: 30)
end

school_quest = Quest.create(reward: 50, req_age: 0, req_time: 5, description: "learn all the things", title: "go to school")
school_quest_req = QuestItemRule.create(item: pencil, quantity: 3, quest: school_quest, rule: QuestItemRule.rules[:requirement])

2 个答案:

答案 0 :(得分:1)

在数据库中使用配置表没有错,但它有点矫枉过正。

您可以使用railsconfig之类的gem来进行应用程序配置。如果你在谈论模型配置,你有不同的常量或集合用于不同的用例,那么我建议为那些方法返回你需要的值的类创建一个类,它本身可选择和/或部分设置在配置gem的帮助下。根据您的静态数据的性质,i18n在这里也可能有用。

答案 1 :(得分:0)

也许您可以将这些东西存储在YAML文件中......

Here is a YAML tutorial