Как подать заявку: включить в этот сценарий? - PullRequest
0 голосов
/ 05 января 2011
modules=MenuModule.all(:order => "module_seq")
modules.each do |m|
  groups=m.menu_groups.all(:order => "group_seq")
  groups.each do |g|
    items=g.menu_items.all(:order => "item_seq")
    items.each do |i|
      puts i.name
    end
  end
end

ОБНОВЛЕНИЕ Как использовать включить с заказом?

Something like MenuModule.find(:all,:include => {:menu_groups(:order => "group_seq"), :menu_items(:order => "item_seq")},:order => "module_seq")

Возможно ли это?

1 Ответ

1 голос
/ 05 января 2011

См .: http://www.arraystudio.com/as-workshop/nested-include-activerecord-option.html

 MenuModule.all(:include => [{:menu_groups, :menu_items}], :order => 'module_seq,modules.group_seq,modules.groups.item_seq') 

Если item_seq не то, что вы хотите отсортировать, вы, вероятно, можете сортировать, используя метод сортировки ruby.Насколько мне известно, предложение mysql order во вложенном соединении упорядочит только одно ограничение в соединении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...