用于复原事件的gem ice_cube

时间:2013-04-03 14:59:04

标签: ruby-on-rails calendar gem repeat ice-cube

我有简单的事件模型(标题,日期,用户) 我创建了几个月的事件日历(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规则联系起来。我应该在哪里以及如何实现它(将用户选择转换为正确的)

1 个答案:

答案 0 :(得分:1)

如果您正在尝试执行此操作,则无法在数据库中查询事件的序列化(yaml)计划以按月过滤事件。如果你需要这样做,那么你必须将schedule.occurrences作为行存储在一个单独的表连接中:这就是我在我们的应用程序中所做的。

我可能会在稍后添加更多详细信息添加到此答案中,同时查看我的schedule_attributes gem如果它可以帮助您构建用于从用户输入构建计划的选择器(我仍需要更新文档并将其释放...)