Ruby on Rails - Категории в виде хэшей или таблицы базы данных - PullRequest
2 голосов
/ 16 февраля 2011

У меня есть общий вопрос о том, думают ли люди, что вы должны использовать таблицу базы данных или хэши / массивы констант для категорий. Я разорван на какой путь. Мысли

Ответы [ 2 ]

2 голосов
/ 16 февраля 2011

Хранение их в базе данных (и использование в качестве модели) делает его более гибким в будущем.Добавление / удаление новых категорий может быть выполнено без повторного развертывания приложения, в то время как наличие их в качестве жестко запрограммированных константных значений будет.

Но при этом все зависит от ваших конкретных потребностей.Если вы точно знаете, что категории никогда не изменятся, константы могут быть лучше, поскольку это будет означать меньше обращений к базе данных.

2 голосов
/ 16 февраля 2011

Что ж, если вы на 100% уверены, что никогда не будете менять категории, вы можете выбрать собственную модель с суперклассом Object (без DB-таблицы и без ActiveRecord).

Если вы когда-либоизменил бы категорию или добавил бы любую нужную вам базу данных.Это связано с тем, что ваши модели не будут перезагружены после изменения производственного режима.

Я все равно рекомендую базу данных по крайней мере из-за следующего:

  1. См. Комментарий MattC.
  2. Вы можете использовать отношения ActiveRecord (has_many и own_to).Это трудно сделать без ActiveRecord.
  3. Снижение производительности незначительно.Это может замедлить максимум 0,2 мс.
...