How to display categorized pages in the most effective way?

I am looking for the most effective way to display categorized pages.

Page model:   acts_as_tree   belongs_to :theme

(has attribute "title")

Theme model:   has_many :pages

(has attribute "name")

I'd like to display all the children (titles) of the current page but grouping these pages in themes they belong to.

I imagine that code "extracts" unique themes from @page.children and then iterates through these themes and displays just pages (titles) that are children of the current page and belong to proper themes.

This should print the following data:

Theme_X - page_b - page_f - page_m Theme_Y - page_c - page_g - page_l Theme_ ...

where page_? is the child of the current page.

How to do it effectively? Any help appreciated.

Emmek on Rails wrote:

I imagine that code "extracts" unique themes from @page.children and then iterates through these themes and displays just pages (titles) that are children of the current page and belong to proper themes.

You might want to look at named_scopes... this sounds like a candidate for a something like page.theme_ordered_children, rather than just page.children.