сгруппировать валидацию - PullRequest
       1

сгруппировать валидацию

0 голосов
/ 29 февраля 2012

Привет на новых в рельсах и начинает разрабатывать мое приложение, которое представляет собой онлайн-бронирование, я просто задаюсь вопросом, есть ли способ в Ruby на рельсах для группировки проверки

ei.я хочу проверить дату сначала в базе данных и проверить ее наличие и каковы записи timeStart и endTime в эту конкретную дату и проверить ее уникальность (timeStart и endTime) на основе даты?это возможно при проверке или мне нужно создать контроллер или метод для него?

извините за мой плохой английский, моя база данных бронирования:

0           id          INTEGER     1                       1         
1           lname       varchar(25  1                       0         
2           fname       varchar(25  1                       0         
3           contactnum  integer     1                       0         
4           email       varchar(10  1                       0         
5           date        date        1           '2012-03-0  0         
6           timeStart   time        1           '---
:hour  0         
7           timeEnd     time        1           '---
:hour  0         
8           numGuest    integer     0           5           0         
9           totalCost   decimal(2)  0                       0         
10          confirm     boolean     0           'f'         0         
11          created_at  datetime    0                       0         
12          updated_at  datetime    0                       0    

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

Это довольно легко сделать, я предполагаю, что ваша модель называется резервированием:

class Reservation < ActiveRecord::Base

  validates :date_and_times_are_unique

  def date_and_times_are_unique
    if Reservation.where(date: date, timeStart: timeStart, timeEnd: timeEnd).any?
      errors.add(:base, "The reservation date and time combination must be unique")
    end
  end
end

Это пользовательский валидатор, который просто проверяет, что нет других записей с одинаковыми датами, timeStart и timeEnd, и я думаю, что делает то, что вы хотите.

0 голосов
/ 29 февраля 2012

Вы пробовали искать Rails Validations?То, что вы хотите, это проверка уникальности.Однако иногда вам придется написать свою собственную проверку, в зависимости от того, не существует ли встроенный метод проверки.

Rails Guides поможет вам.Я связал право на часть о методе уникальности.

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