我有简单的事件模型(标题,日期,用户) 我创建了几个月的事件日历(gem'watu_table_builder')。我需要该功能来创建重复事件。我发现我可能会使用gem ice_cube。但我不清楚。
我加入了模特:
class Event < ActiveRecord::Base
#require 'ice_cube'
include IceCube
belongs_to :user
validates :title, :presence => true,
:length => { :minimum => 5 }
validates :shedule, :presence => true
def self.events_and_repeats(date)
@events = Event.where(shedule:date.beginning_of_month..date.end_of_month)
# Here I need to figure out what is events repeats at this month (from date param)
# how I may combine it with Events array
@events_repeats = @events # + repeats
return @events_repeats
end
1)我如何将重复规则与Events数组结合起来?
2)据我所知,我可以保存有关yaml重复的db信息 yaml = schedule.to_yaml
但我不清楚如何为重复创建下拉列表(没有,每天,每个月,每年),并将其与shedule规则联系起来。我应该在哪里以及如何实现它(将用户选择转换为正确的)
答案 0 :(得分:1)
如果您正在尝试执行此操作,则无法在数据库中查询事件的序列化(yaml)计划以按月过滤事件。如果你需要这样做,那么你必须将schedule.occurrences
作为行存储在一个单独的表连接中:这就是我在我们的应用程序中所做的。
我可能会在稍后添加更多详细信息添加到此答案中,同时查看我的schedule_attributes gem如果它可以帮助您构建用于从用户输入构建计划的选择器(我仍需要更新文档并将其释放...)