如何validationRails中的重叠时间
我有一个Event model
,它在我的日程安排应用程序中有时间和时间,我想在保存之前validation重叠时间。
我的观点图如下;
Departure date: Dec 31, 2016 Day1 07:00 - 07:20 event1 10:30 - 11:30 event2 15:40 - 16:10 event3 [add event button] Day2 08:15 - 09:05 event4 12:08 - 13:04 event5 14:00 - 14:25 event6 [add event button] [save schedule button]
from
时间和时间可以同时改变和添加。
我想做的是显示错误,如果我尝试为Day1
添加(或更改) 07:05 - 07:30
,例如, 13:50 - 14:30
,依此类推。
虽然我尝试了一些overlap
代码, between
这篇文章或这篇post等等之后,我无法将它们应用到我的代码中。
schema.rb
create_table "events", force: :cascade do |t| t.time "from" t.time "to" t.integer "room_id" ... create_table "rooms", force: :cascade do |t| t.integer "schedule_id" ... create_table "schedules", force: :cascade do |t| t.integer "user_id" t.date "departure_date" ...
提供以下型号 :
class Schedule < ActiveRecord::Base belongs_to :user has_many :rooms, inverse_of: :schedule accepts_nested_attributes_for :rooms, allow_destroy: true ... class Room < ActiveRecord::Base belongs_to :schedule, inverse_of: :rooms has_many :events, inverse_of: :room accepts_nested_attributes_for :events, allow_destroy: true ... class Event < ActiveRecord::Base belongs_to :room, inverse_of: :events has_one :schedule, autosave: false, through: :room ...
_schedule_form.html.erb
(f.object.departure_date.strftime('%b/%d/%Y') if f.object.departure_date), class: 'form-control' %> $(function () { $('#datetimepicker').datetimepicker({format:'MMM-DD-YYYY'}); });
<div id="room_"> Day
-