Rails - Проверка уникального месяца в году - PullRequest
0 голосов
/ 01 февраля 2020

Использование Rails 6.

У меня есть модель, MonthlyConsumption, которая является мерой ежемесячного потребления энергии. Он содержит следующие поля:

  • month как целое число от 1 до 12; Позднее он преобразуется в месяц с использованием некоторых пар ключ-значение, например 1: 'January'
  • year: целое число, например 2020
  • amount: целое число, сумма потребляемая мощность в кВт
  • city_id: ссылка на City модель

Я хочу подтвердить, что существует только 1 возможная запись в одном месяце данного года, для каждого города.

Например:

  • 500kW in January 2020 in City X и 600kW in January 2021 in City X должны быть действительными
  • 500kW in January 2020 in City X и 600kW in January 2020 in City Y должны быть действительными
  • 500kW in January 2020 in City X & 600kW in January 2020 in City X должно быть недействительным

Каков наилучший способ выполнить эту проверку?

1 Ответ

1 голос
/ 01 февраля 2020

Что-то вроде:

validates :month, uniqueness: { scope: [:city_id, :year] }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...