我通过以下循环将每天的开放时间分组:
<% @open_hours.group_by(&:day).each do |day, open_hours| %>
<% if day == 1 %>
<strong>Monday:</strong>
<% open_hours.each do |open| %>
<%= I18n.l open.opens, :format => :custom %> - <%= I18n.l open.closes, :format => :custom %><%= "," unless open_hours == open_hours.last %>
<% end %>
<% end %>
<% end %>
这就是我得到的:
您可以看到,我试图在每个数组值的末尾添加一个逗号,除了最后一个:
<%= I18n.l open.opens, :format => :custom %> - <%= I18n.l open.closes, :format => :custom %><%= "," unless open_hours == open_hours.last %>
但是由于某种原因,它无法正常工作。有没有更好的方法来实现呢????首先用-
将两个值连接起来,然后用逗号分隔每个开-关,最后一个值除外。
答案 0 :(得分:2)
您不比较,您认为自己在比较:
# I get only one definition and update him, not iterate all my definitions
$definition = Invoke-RestMethod -Uri $url -Method Get
# Change the branch trigger from "test" to "master"
$definition.triggers[0].branchFilters[0] = "+refs/heads/master"
# Add another branch trigger - "feature/*"
$definition.triggers[0].branchFilters[0] += "+refs/heads/feature/*"
$body = $definition | ConvertTo-Json -Depth 10
Write-Host $body
Invoke-RestMethod -Uri $url -Method Put -ContentType application/json -Body $body
您正在将整个数组<%= "," unless open_hours == open_hours.last %>
与同一数组open_hours
的最后一个元素进行比较
您可能想比较当前的开放时间以检查是否是最后一个元素:
open_hours.last
但是无论如何,有一种更好的方法来执行此操作,如果您有一个数组,可以像这样将其连接在一起
<%= "," unless open == open_hours.last %>
为此可能需要编写一些帮助程序或一些模型方法。