У меня есть задачи, которые мои пользователи проходят и заканчивают один за другим и записывают результат. В зависимости от результата задача может быть приостановлена для «х» числа дней, а затем после «х» дней она снова становится доступной. Иногда он возвращается в очередь задач для ТОЛЬКО «y» дней, а затем истекает (task.active = 0)Обновить запись в 'x' дня?
Каков наилучший способ достичь этой функции с помощью Rails 3? Я использую Postgre.
Для более эффективных и читаемых запросов можно сделать 'active_until' поле' NOT NULL' и использовать далекую будущую дату. Если Rails и Pg gem поддерживают бесконечные даты, используйте '+ infinity' как дату; в противном случае используйте самую большую дату Rail и Pg gem. Это имеет смысл только в том случае, если значительная часть ваших записей имеет ненулевое поле 'active_until'; если только меньшая фракция имеет набор 'active_until', вы можете использовать' null' для неустановленных и создать частичный индекс на '(active_until) WHERE (active_until IS NOT NULL)' –