Ruby on rails 3 我应该如何在Rails中创建半天事件

Ruby on rails 3 我应该如何在Rails中创建半天事件,ruby-on-rails-3,activerecord,calendar,icalendar,Ruby On Rails 3,Activerecord,Calendar,Icalendar,我正在Rails中创建一个应用程序,它本质上是一个假日管理工具。员工要求休假;发送给经理审批的电子邮件;经理批准/拒绝等 该应用程序将允许全天或半天的假期,我想知道最好的方式来处理半天。我不想向用户提供时间选择器。我更愿意提供日期选择器和AM/PM复选框 我想我正在寻找意见,我是否应该1结合使用所选日期(如AM复选框)在DB中创建日期时间条目,例如,休假从2月10日AM=2011-02-10 00:00开始,还是2我应该在DB中记录一个日期,在单独的字段中使用字符串引用AM 我希望以.ics文件

我正在Rails中创建一个应用程序,它本质上是一个假日管理工具。员工要求休假;发送给经理审批的电子邮件;经理批准/拒绝等

该应用程序将允许全天或半天的假期,我想知道最好的方式来处理半天。我不想向用户提供时间选择器。我更愿意提供日期选择器和AM/PM复选框

我想我正在寻找意见,我是否应该1结合使用所选日期(如AM复选框)在DB中创建日期时间条目,例如,休假从2月10日AM=2011-02-10 00:00开始,还是2我应该在DB中记录一个日期,在单独的字段中使用字符串引用AM

我希望以.ics文件和流的形式输出leave,因此第一个选项对我来说是最有意义的,但可能会在代码中造成真正的错误。任何想法或进一步的选择都将不胜感激

谢谢


Robin

为什么不为每个假日创建持续时间对而不是一个?这将更好地模拟ical表示,而不仅仅是将单个时间存储为事件

至于如何在视图级别处理这个问题,您可能需要使用Presenter模式,因为您实际上是在操纵事件而不是时间

演示者基本上是一个代理,添加了业务逻辑,表示视图如何与模型交互的更好映射

这是一个轻量级的层,它们通常只是普通的Ruby类,而不是包装模型的AR::Base或其他重量级rails模型,通常在控制器级别实例化,并传递给视图,而不是模型本身


我的意思是:

希望这会有所帮助。显然这不是我的第一次尝试,我重构了几次。