Skip to content

Instantly share code, notes, and snippets.

@mettledrum
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save mettledrum/9441272 to your computer and use it in GitHub Desktop.
Save mettledrum/9441272 to your computer and use it in GitHub Desktop.
Rails eager_load controller example
def scoring
@heat = Heat.find(params[:heat_id])
@judge = current_user
@event = Event.find(params[:event_id])
# {st_id => [team#, [team, member, names]]}
@team_info = ScheduledTeam.eager_load(
heat: {
score_system: :score_terms,
scheduled_teams: {
registered_team: {
team: {}
}
}
}).where(heats: {id: @heat.id}).
reduce ({}) do |acc, st|
acc.merge(st.id =>
[st.registered_team.team.num(@event.id).try(:num),
st.registered_team.team.users.flat_map(&:name)])
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment