AppointmentとScheduleの2つのモデルがあり、Appointmentにはadateという時間フィールドがあり、scheduleにはstart_timeフィールドとendend_timeフィールドがあります。
adateの値をstart_timeおよびend_time内の値と比較して、その時間に予約できるかどうかを確認したいと思います。
これらの値を比較するにはどうすればよいですか?
create_table "appointments", :force => true do |t|
t.integer "doctor_id"
t.date "adate"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.time "atime"
end
create_table "schedules", :force => true do |t|
t.string "day"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "doctor_id"
t.time "start_time"
t.time "end_time"
end
検証である必要がありますが、これを実装する必要がありますか?
モデル
class Appointment < ActiveRecord::Base
attr_accessible :adate, :atime, :doctor_id
validates :adate, :presence => true
belongs_to :doctor
validates_date :adate, :after => lambda { Date.current }
end
class Schedule < ActiveRecord::Base
attr_accessible :doctor_id, :day, :end_time, :start_time
belongs_to :doctor
end