首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails 4.2.5 simple_form、ice_cube和recurring_select

rails 4.2.5 simple_form、ice_cube和recurring_select
EN

Stack Overflow用户
提问于 2015-12-17 19:05:44
回答 1查看 469关注 0票数 0

我使用recurring_select和ice_cube让用户定义重复事件。我将序列化的IceCube-Schedule存储在一个string-Attribute中。

event-Model包括以下代码:

代码语言:javascript
复制
include IceCube
serialize :schedule, IceCube::Schedule

控制器正在清理输入:

代码语言:javascript
复制
params[:event][:schedule] = JSON.parse(params[:event][:schedule], quirks_mode: true)

视图如下所示:

代码语言:javascript
复制
= simple_form_for [:admin, @event] do |f|
  = f.input :schedule do
    = f.select_recurring :schedule

这是params在对每天重复出现的事件进行清理后所查看的内容:

代码语言:javascript
复制
{"schedule"=>{"interval"=>1, "until"=>nil, "count"=>nil, "validations"=>nil, "rule_type"=>"IceCube::DailyRule"}}

但在使用Event.new将其分配给新事件后,检查日程安排如下所示:

代码语言:javascript
复制
#<IceCube::Schedule:0x007f762831e958 @start_time=2015-12-17 12:02:29 +0100, @all_recurrence_rules=[], @all_exception_rules=[]>

重复的规则似乎消失了,表单域只显示日期和时间。

EN

回答 1

Stack Overflow用户

发布于 2016-01-06 01:02:52

我也有同样的问题。recurring_select仅编辑规则。下面就为我解决了这个问题:

代码语言:javascript
复制
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未存储在数据库中,计划将存储在数据库中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34333030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档