Ruby on rails 如何在rails activeadmin CSV中迭代数组?
我试图在活动管理中为Saloon模型创建一个自定义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
[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