2015-12-17 32 views
0

我正在使用recurring_select和ice_cube來讓用戶定義循環事件。我將序列化的IceCube-Schedule存儲在字符串屬性中。rails 4.2.5 simple_form,ice_cube和recurring_select

的事件模型包括此代碼:

include IceCube 
serialize :schedule, IceCube::Schedule 

控制器被清理輸入:

params[:event][:schedule] = JSON.parse(params[:event][:schedule], quirks_mode: true) 

的看法是這樣的:

= simple_form_for [:admin, @event] do |f| 
    = f.input :schedule do 
    = f.select_recurring :schedule 

這是什麼PARAMS在爲每天重複發生的事件進行消毒處理後提供服務:

{"schedule"=>{"interval"=>1, "until"=>nil, "count"=>nil, "validations"=>nil, "rule_type"=>"IceCube::DailyRule"}} 

但這個分配使用Event.new一個新的事件後,檢查安排是這樣的:

#<IceCube::Schedule:0x007f762831e958 @start_time=2015-12-17 12:02:29 +0100, @all_recurrence_rules=[], @all_exception_rules=[]> 

反覆出現的規則似乎消失和表單字段只顯示日​​期和時間。

回答

0

我有同樣的問題。 recurring_select僅編輯規則。繼解決了這個問題對我來說:

schedule = IceCube::Schedule.new (start_time = params['schedule_starttime']) 
schedule.add_recurrence_rule(RecurringSelect.dirty_hash_to_rule(params['schedule_rule'])) 

schedule_starttime和schedule_rule並不存儲在數據庫中,時間表將。