그래서 나는이 모델의 약속이 있습니다검증하지만, 같은 클래스
validates :purpose, :extra, :appointment_date, :appointment_time, presence: true
을 지금이 상황은 : 나는 누군가가 같은 날, 같은에서 약속을 확인하는 것이 좋습니다 경우 오류가 발생 할 시각. 그래서 같은 클래스의 두 객체를 비교해야하고 어떻게 할 수 있는지 잘 모르겠습니다.
단 한 가지 내 마음
def allready_booked?
@employee = Employee.find(params[:employee_id]) <----- this is the part i dont know how to do it
@appointments = Appointment.where(appointment_date: appointment_date).where(employee_id: employee.id)
@appoitnments.each do |appo|
if(appo.appointment_date == appointment_date)
errors.add(:appoitnemnt_date, "is already booked")
end
end
end
에 와서 그리고 네 employee_id입니다은 약속 모델에서
PORO 서비스 클래스 사용을 고려 했습니까? 하나의 좋은 유스 케이스처럼 보입니다. – jvillian
나는 내일 그것을 고려할 것이다. 어쨌든 다른 대답이 나올 것이다. – proofexak
범위를 전달하여 고유성을 검증 할 수 있습니다 :'validates : appointment_date, uniqueness : {scope : : appointment_time}' –