如何在Rails中

时间:2017-05-01 13:34:39

标签: ruby-on-rails arrays json ruby

我在迭代我的JSON数组时遇到了一些麻烦。我想根据客户端发送给服务器的内容设置一个特定的时间表。

客户端的JSON将以这种格式发送:

{
"Schedule": 
  {
    "monday": [
        12,
        15
    ]
  , 
  "tuesday": [
        10,
        16
    ]
  }
}

我想像这样迭代:

params[:Schedule].each do |day| do
   day.each do |time|
    schedule.add_recurrence_rule(IceCube::Rule.weekly.day(0).hour_of_day(time))
   end
end

然而,这不起作用,因为当我打印params[:Schedule].each时,它打印出星期一,12,15,星期二,10,16等......

有人有解决方案吗?

1 个答案:

答案 0 :(得分:5)

params["Schedule"]获取哈希值,而不是数组。所以你的块将有一个键(作为名称的日子)和一个数组

params["Schedule"].each do |day_name, day_schedule|
  # to do
end