The problem is that the responsibilities are not already sorted going in.
Each area belongs_to a responsibility.  I have the list of all of the areas,
I want to group them by responsibility, and I want to sort the result by
some field within the responsibility.  Currently, I have something like:

@areas = Area.find(:all)

Is there some way to order that ahead of time by
areas.responsibility.some_field?

Hmmm.... perhaps I'm thinking of this backwards.  (It wouldn't be the first
time.)  Do I really want to do something like:

@responsibilities = Responsibility.find(:all)

Hmmmm.... that looks like the right avenue to have taken in the first
place....

now... if I could just figure out how to comment out blocks of ERB code,
this would be much easier to test and then back out of if it goes awry.

--wpd


On Fri, Dec 5, 2008 at 7:33 PM, Ed <[EMAIL PROTECTED]> wrote:

>
> The ordered hash is already sorted by responsibility, so you would
> sort each area something like this:  (tags removed)
>
> @areas.group_by(&:responsibility).each do |responsibility, areas|
>   responsibility.name
>  areas.sort_by{|area| area.name}.each do |area|
>  ...
>
> A style suggestion: make yourself a method in class Area that returns
> @areas_grouped_and_sorted.  Less code in the view, and reusable.
>
>
> On Dec 5, 6:50 pm, "Patrick Doyle" <[EMAIL PROTECTED]> wrote:
> > @areas.group_by(&:responsibility).each do |responsibility, areas|
> >   <p><%=h responsibility.name %></p>
> >   <% areas.each do |area| %>
> >   ...
> >
> > I see that #group_by iterates through my list of areas, splitting them
> into
> > sets according to which ones have the same responsibility.
> >
> > I would like to sort the results of that list.
> >
> > It seems to me that group_by returns an OrderedHash.  How to I sort those
> > results prior to passing the |responsibility, areas| pairs?
> >
> > --wpd
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to