我有一個JSON提要,我正在解析。下面是下面的代碼示例:Rails中的數組邏輯(通過JSON)
JSON
[
{
"global_event":{
"ending_at":"2011-11-07T02:00:00Z",
"short_url":"http://bit.ly/reAhRw",
"created_at":"2011-10-04T14:25:41Z",
"event_responses":[
],
"addresses":{
"location":{
"city":"blah",
"latitude":30.205288,
"zipcode":"343434",
"street":"blah",
"longitude":-95.475289,
"state":"TX"
}
},
"body":"blahblahblah",
"euid":"2f489d0c82d167f1c16aba5d3b4c29ade6f1d52a",
"title":"Fusion",
"updated_at":"2011-10-04T14:26:57Z",
"event_roles":[
],
"user":{
"long_name":"Fusion Single",
"nickname":""
},
"event_items":[
],
"starting_at":"2011-11-07T00:00:00Z"
}
}
]
控制器
def events
@json = ActiveSupport::JSON.decode(open('jsonfeed').read)
end
查看
<ul class="events">
<% @json.each do |event| %>
<% event.each do |e, d| %>
<li>
<h4><%= d['starting_at'].to_date.strftime('%A') %></h4>
<small><%= d['starting_at'].to_date.strftime('%b %d') %></small>
<p>
<%= link_to d['title'], d['short_url'] %> <span style="font-size: 12px; padding: 0 10px; font-weight: bold;">|</span>
<%= d['starting_at'].to_date.strftime('%I:%M %p') %>
</p>
</li>
<% end %>
<% end %>
</ul>
Finall Ÿ,所有這些都已到位,它的工作完美無缺。下面是我的輸出如下:
所以,最後我的問題:正如你在截圖中看到,這兩個項目被打印到屏幕上具有相同的日期(1月14日)。我想要做的是將兩者結合起來。因此,我最終的輸出結果將具有「星期六」,其下面列出了兩個事件。謝謝您的幫助!
你有沒有試過這個:http://stackoverflow.com/questions/3884829/grouping-a-ruby-array –