Я пытаюсь создать пользовательскую проверку для одной из моих моделей при создании, моя проверка ограничивает пользователя для создания одной записи в день.Но мне нужно добавить условие, позволяющее пользователю создавать несколько записей в день, если один из атрибутов записей является уникальным "job_id".
мой класс пользователя
class CareGiver < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable, :confirmable
validates_presence_of :phone, :city, :state, :street, :zip, presence: true, on: :create
has_many :hours do
def today
where(:created_at =>(Time.zone.now.beginning_of_day..Time.zone.now))
end
end
end
каждая часовая запись имеет "job_id".Я хочу, чтобы пользователи могли создавать одну запись в день, которая работает.но если "job_id" является уникальным и не имеет зарегистрированных часов для него.я хочу, чтобы они могли создавать записи.
запись, которую я создаю (часы)
class Hour < ApplicationRecord
belongs_to :care_giver
validate :hours_for_the_day, :on => :create
private
def hours_for_the_day
if care_giver.hours.today.count >= 1
errors.add(:base, "Exceeds daily limit")
end
end
end
Должен ли я добавить параметр в этот метод?У меня проблемы с пониманием, как я могу этого достичь.любая помощь будет высоко ценится