Ruby on rails 如何在rails activeadmin CSV中迭代数组?

Ruby on rails 如何在rails activeadmin CSV中迭代数组?,ruby-on-rails,ruby,csv,activeadmin,Ruby On Rails,Ruby,Csv,Activeadmin,我试图在活动管理中为Saloon模型创建一个自定义CSV,我有一个包含小时数组的列 这是我的目标: [20] pry(main)> Saloon.first => #<Saloon:0x00007fa773496cf0 id: 1, address_1: "1313 2nd St South", city: "Battlefield", state: "Missouri", zip: "63303", operational_hours: [#<Opera

我试图在活动管理中为Saloon模型创建一个自定义CSV,我有一个包含小时数组的列

这是我的目标:

[20] pry(main)> Saloon.first
=> #<Saloon:0x00007fa773496cf0
 id: 1,
 address_1: "1313 2nd St South",
 city: "Battlefield",
 state: "Missouri",
 zip: "63303",
 operational_hours:
  [#<OperationalHours:0x00007fa77aa72848 @closing_time="5:00 PM", @notes="", @opening_time="9:00 AM">,
   #<OperationalHours:0x00007fa77aa725f0 @closing_time="5:00 PM", @notes="", @opening_time="9:00 AM">,
   #<OperationalHours:0x00007fa77aa723c0 @closing_time="5:00 PM", @notes="", @opening_time="9:00 AM">,
   #<OperationalHours:0x00007fa77aa72190 @closing_time="Closed", @notes="", @opening_time="Closed">,
   #<OperationalHours:0x00007fa77aa71f10 @closing_time="Closed", @notes="", @opening_time="Closed">,
   #<OperationalHours:0x00007fa77aa71ce0 @closing_time="Closed", @notes="", @opening_time="Closed">,
   #<OperationalHours:0x00007fa77aa71ab0 @closing_time="Closed", @notes="", @opening_time="Closed">],
 name: "Clear Cut",
 trial_period: 30,
 time_zone: "Central Time (US & Canada)">
但CVS的运行时间有:

[#<OperationalHours:0x00007fcf295e2a90 @opening_time="9:00 AM", @closing_time="5:00 PM", @notes="">,
 #<OperationalHours:0x00007fcf295e2798 @opening_time="9:00 AM", @closing_time="5:00 PM", @notes="">,
 #<OperationalHours:0x00007fcf295e2428 @opening_time="9:00 AM", @closing_time="5:00 PM", @notes="">,
 #<OperationalHours:0x00007fcf295e2158 @opening_time="9:00 AM", @closing_time="5:00 PM", @notes="">,
 #<OperationalHours:0x00007fcf295e1eb0 @opening_time="9:00 AM", @closing_time="5:00 PM", @notes="">,
 #<OperationalHours:0x00007fcf295e1910 @opening_time="9:00 AM", @closing_time="5:00 PM", @notes="">,
 #<OperationalHours:0x00007fcf295e1690 @opening_time="9:00 AM", @closing_time="5:00 PM", @notes="">]
[#,
#,
#,
#,
#,
#,
#]

有没有一种方法可以迭代运行时间,并将每个时间显示为“上午9:00-下午5:00”格式?

我一直在想错了。为了解决这个问题,我在Saloon模型上做了一个发送格式化运行时间的方法

  def sanitized_operational_hours
    hours = ""
    self.operational_hours.each_with_index do |v, i|
      if i==6
        hours += "#{Date::DAYNAMES[0]} #{v.opening_time} - #{v.closing_time} "
      else 
        hours += "#{Date::DAYNAMES[i+1]} #{v.opening_time} - #{v.closing_time} "
      end
    end
    hours
  end
在我的活动管理员上,我调用了这个方法

  column "Operational Hours" do |t|
      t.sanitized_operational_hours
  end

“您的“CSV”示例不是CSV格式。@我跟踪文档的管理员。我也越来越多了。但问题是我的工作时间没有按照我想要的格式设置。operation_hours.keys给了你什么?试试看,还有
hour[@opening\u time]
hour[@closing\u time]
  column "Operational Hours" do |t|
      t.sanitized_operational_hours
  end