2013-03-25 2 views
0

Использование group_by сегодня, пытаясь окунуться в него и посмотреть, правильно ли оно подходит для того, чего я пытаюсь достичь. У меня есть следующая модель:Использование Group_by Rails

class Fixture < ActiveRecord::Base 
    attr_accessible :home_team, :away_team, :kickoff_time, :fixture_date 
end 

Я хочу сгруппировать все приборы fixture_date. До сих пор мой контроллер похож на этот

def fixturelist 
    @fixtures = Fixture.all 
    @fixture_date = @fixtures.group_by { |fd| fd.fixture_date } 
end 

Что я хотел бы сделать то, на мой взгляд это список HOME_TEAM и на выезде команда соответствует для этой конкретной даты

Посмотреть

<% @fixture_date.each do |f| %> 
<%= f %> 
<% end %> 

Это выходы массив всех светильников по дате, поэтому group_by работал. Я ищу некоторые указатели, чтобы заставить это работать правильно, т. Е. Увидеть все приспособления, перечисленные для каждой даты. видя рабочий пример должен помочь мне понять некоторые более

Пример

Date 

Team 1 Vs Team2 
Team 1 Vs Team2 
Team 1 Vs Team2 

Date 2 

Team 1 Vs Team2 
Team 1 Vs Team2 
Team 1 Vs Team2 

Благодаря

ответ

1

Проверить это,

http://railscasts.com/episodes/29-group-by-month

Я думаю, что вы хотите, чтобы ваш вид кода, чтобы посмотреть например,

<% @fixture_date.sort.each do |date, fixtures| %> 
    <h2><%= date %></h2> 

    <% fixtures.each do |fixture| %> 
    <%= fixture.team_1 %> VS <%= fixture.team_2 %> 
    <% end %> 
<% end %> 

EDIT:

И если ваш fixture_date является datetime колонками, а не просто date колонок, ваш код контроллера, чтобы посмотреть, как это,

@fixture_date = @fixtures.group_by { |fd| fd.fixture_date.beginning_of_day } 
Смежные вопросы