Запросы или методы в Rails? - PullRequest
2 голосов
/ 12 октября 2009

Я создаю приложение Rails и хотел бы знать, какое из них лучше:

  1. Хранить данные по умолчанию, такие как имена категорий, в БД и получать данные с запросами;

  2. или создать метод в ApplicationController, который с аргументом category_id возвращает информацию о требуемой категории?

Obs: значения редко изменяются.

Спасибо, Габриэль.

Ответы [ 2 ]

2 голосов
/ 12 октября 2009

Я всегда так думаю:

  • сколько там элементов? Если больше 3, я бы пошел с DB
  • это приложение для меня или клиента? Если бы это было для клиента, я бы использовал db (немного грубого взаимодействия с администратором, чтобы он сам мог добавлять / удалять / изменять категории даже после окончания разработки).

Такие вещи, как категории, представляют собой данные, которые поступают от клиентов - если они приходят от клиентов, дайте клиентам контроль над тем, что находится внутри (и сэкономьте свое время на изменить исходный код). Таким образом, они могут предоставить файл excel / cvs, который вы можете использовать для заполнения базы данных исходными записями (без изменения исходного кода). Это тоже проще позже, чтобы сделать разные трюки в SQL (объединяет), если категории находятся в БД.

ИМХО, единственное место, где я бы использовал жестко закодированный хеш / массив, это некоторые (2-3) атрибуты с несколькими значениями, например роли пользователей (конечно, если они статичны).

1 голос
/ 12 октября 2009

Обычным шаблоном может быть хранение данных в таблице базы данных (в этом случае создайте таблицу categories) и использование ассоциаций ActiveRecord, как обычно.

Вы можете иметь начальные данные для сохранения значений для категорий. Было много плагинов, которые решают проблему с начальными данными, но теперь в Rails есть задача rake, которая запускает код в db / seed.rb. Это Railscast проведет вас через детали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...