Ruby on rails 在字段验证错误中添加URL,而不会使模型复杂化

Ruby on rails 在字段验证错误中添加URL,而不会使模型复杂化,ruby-on-rails,validation,design-patterns,Ruby On Rails,Validation,Design Patterns,我在Rails中的一个模型验证是确保一个事件不会与另一个事件重叠。我通过比较已经存在的记录上的日期来实现这一点 如果检测到重叠,则显示验证错误: 与活动重叠:ABC会议——6月1日至6月17日 验证后,重定向将在控制器而不是模型中发生 大概是这样的: if @event.save ...do something... else ...if start_date error validatio error exist... ...find the other event... ..

我在Rails中的一个模型验证是确保一个事件不会与另一个事件重叠。我通过比较已经存在的记录上的日期来实现这一点

如果检测到重叠,则显示验证错误:

与活动重叠:ABC会议——6月1日至6月17日


验证后,重定向将在控制器而不是模型中发生

大概是这样的:

if @event.save
  ...do something...
else
  ...if start_date error validatio error exist...
  ...find the other event...
  ...redirect_to other event edit path...
end
您需要将实际代码替换为带有
的行

errors.add :start_date, 
  "Overlaps with event: " + 
  link_to("#{overlap_event.title} --- #{overlap_event.start_date} - #{overlap_event.end_date}", edit_event_path(overlap))`
if @event.save
  ...do something...
else
  ...if start_date error validatio error exist...
  ...find the other event...
  ...redirect_to other event edit path...
end