我从 db 中选择了一些事件。我需要克隆每个元素 30 次并设置 elem.shedule 不同的日期(当前月份的每一天 -2013-04-01 .. 2013-04-30)。
这是我的代码('shedule' 字段是日期):
daily_events = Events.All
repeated_events = []
for event in(daily_events)
for day in(1..date.end_of_month.day)
repeat_event = event
repeat_event.shedule = Date.new(date.year, date.month, day)
repeated_events << repeat_event
end
end
但作为结果,我在每个地方都有每个元素 30 次,最后一个月的日期相同(2013-04-30)
如何解决?
如果我在 EventsController#index 中设置repeated_events+=repeat_event
而不是repeated_events << repeat_event
TypeError,则无法将事件转换为数组(Event#to_ary 给出 NilClass)
我认为这是因为我只克隆了对元素的引用,而不是元素的内容。有什么方法可以解决?