2014-12-05 16 views
0

我有與由日期在控制器排序小葉的數據的表:通過在視圖日期分組排序和分組數組,散列與所有項目出現在端

@leaflets = Leaflet.order(:date) 

然後(I找到的代碼地方上互聯網)

<%= @leaflets.group_by(&:date).each do |date, leaflets| %> 
    <p><%= l(date, :format => '%A, %d %b %Y') %></p> <!-- localized date formatting: weekday, day month year --> 


    <table> 
    <tr> 
     <% leaflets.each do |leaflet| %> 

     <td style="border:dotted 1px; padding:5px;"> 

     <strong><%= leaflet.place %></strong><br/> 
     <%= leaflet.description %><br/> 
     <%= link_to "Zapisz się", leaflet_path(leaflet) %> 
     </td> 
     </a> 
    <% end %> 
    </tr> 

    </table> 

    <% end %> 

一切都很正常,但打印的所有項目作爲結尾的哈希:

{Tue, 11 Nov 2014=>[#<Leaflet id: 14, date: "2014-11-11", place: "Miejsce11-11-A", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:58:01", updated_at: "2014-12-05 21:58:01">, #<Leaflet id: 15, date: "2014-11-11", place: "Miejsce11-11-B", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:58:04", updated_at: "2014-12-05 21:58:04">, #<Leaflet id: 16, date: "2014-11-11", place: "Miejsce11-11-C", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:58:07", updated_at: "2014-12-05 21:58:07">], Mon, 01 Dec 2014=>[#<Leaflet id: 4, date: "2014-12-01", place: "Miejsce1", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:56:42", updated_at: "2014-12-05 21:56:42">, #<Leaflet id: 5, date: "2014-12-01", place: "Miejsce2", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:56:55", updated_at: "2014-12-05 21:56:55">, #<Leaflet id: 6, date: "2014-12-01", place: "Miejsce3", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:57:01", updated_at: "2014-12-05 21:57:01">], Tue, 02 Dec 2014=>[#<Leaflet id: 7, date: "2014-12-02", place: "Miejsce02-A", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:57:21", updated_at: "2014-12-05 21:57:21">, #<Leaflet id: 8, date: "2014-12-02", place: "Miejsce02-B", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:57:24", updated_at: "2014-12-05 21:57:24">, #<Leaflet id: 9, date: "2014-12-02", place: "Miejsce02-C", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:57:28", updated_at: "2014-12-05 21:57:28">], Fri, 05 Dec 2014=>[#<Leaflet id: 10, date: "2014-12-05", place: "Miejsce05-A", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:57:40", updated_at: "2014-12-05 21:57:40">, #<Leaflet id: 11, date: "2014-12-05", place: "Miejsce05-B", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:57:43", updated_at: "2014-12-05 21:57:43">, #<Leaflet id: 12, date: "2014-12-05", place: "Miejsce05-C", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:57:46", updated_at: "2014-12-05 21:57:46">, #<Leaflet id: 13, date: "2014-12-05", place: "Miejsce05-D", description: nil, program: nil, modifier: nil, created_at: "2014-12-05 21:57:48", updated_at: "2014-12-05 21:57:48">]} 

任何想法有什麼不對?在Rails中分組是否正常?我怎樣才能刪除這個大散列? 截圖:http://imgur.com/Nc9sYS7

回答

0

只需卸下=來自:

<%= @leaflets.group_by(&:date).each do |date, leaflets| %> 

這樣記載:

<% @leaflets.group_by(&:date).each do |date, leaflets| %> 

=是outputing的each調用的結果。

+0

謝謝!我會在2周的思考之後提出這個想法:) – Patryk 2014-12-05 23:04:39

0

each方法返回您稱爲each的對象。在ERB中,<%= ... %>顯示評估代碼的結果,在這種情況下爲@leaflets.group_by(&:date)。只需刪除=標誌即可默認評估代碼:

<% @leaflets.group_by(&:date).each do |date, leaflets| %> 
    ... 
<% end %> 
+0

謝謝!我想在2周的思考之後提出這個想法:) – Patryk 2014-12-05 22:56:54