2016-09-28 4 views
0

В настоящее время я разрабатываю игру. Это игра капитализма сорта, покупки, продажи, квестов и т. Д.Где данные статического производства живут в рельсах?

Поскольку я разрабатываю функции, магазины и предметы и многое другое. Я знаю, что в конечном итоге мне захочется поместить все эти жестко закодированные данные. В разработке он в настоящее время подается в базу данных через 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]) 

ответ

1

Ничего плохого в таблицу конфигурации в базе данных, но это немного перебор.

Для настройки приложения вы можете использовать драгоценный камень, например railsconfig. Если вы говорите о конфигурации модели, где у вас разные константы или коллекции для разных вариантов использования, то я бы рекомендовал создать класс для тех, чьи методы возвращают нужные вам значения, которые могут быть необязательно и/или частично настроены с помощью конфигурационный жемчуг. В зависимости от характера ваших статических данных, i18n может быть здесь полезен.

+0

хмм я немного запутался. Вы говорите, что данные не должны жить на уровне базы данных? Это должна быть какая-то конфигурация? –

+0

Похоже, что это настройка. Это не? Трудно сказать, может быть, пример поможет, потому что это то, что я подразумеваю под «в зависимости от природы». – Eric

+0

добавил немного материала, находящегося в моем исходном файле –

Смежные вопросы