[英]How to iterate over an array in rails activeadmin CSV?
I was trying to create a custom CSV in active admin for Saloon model and I have one column with an array of OperationalHours.我试图在活动管理中为 Saloon 模型创建一个自定义 CSV,我有一列包含一系列 OperationalHours。
Here is my Object:这是我的对象:
[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)">
And in my active admin file I have:在我的活动管理文件中,我有:
ActiveAdmin.register Saloon do
csv do
column :name
column "Operation Hours" do |sal|
sal.operational_hours.each do |hour|
"#{hour.opening_time}-#{hour.closing_time}"
end
end
end
end
But operational hours on CVS has:但是 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="">]
Is there a way to iterate over operational hours and show each as "9:00 AM-5:00 PM"format?有没有办法迭代运行时间并将每个时间显示为“9:00 AM-5:00 PM”格式?
I was thinking wrong all along.我一直都在想错。 For solution, I made a method on the Saloon model to send formatted operational hours.
为了解决这个问题,我在 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
And on my active admin I called this method在我的活跃管理员上,我调用了这个方法
column "Operational Hours" do |t|
t.sanitized_operational_hours
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.