Я унаследовал веб-приложение со следующими таблицами: Категории, Подкатегории и Страницы. Страницы имеют рубрики category_id и sub_category_id.Rails 3 - Яркая загрузка по старой базе данных
Мне нужно написать эффективный запрос для нетерпеливых загрузки страниц по категориям и sub_category для итерация на мой взгляд (грубый пример следующим образом):
- Category One (categories.each do |category|...)
-- Page One (category.pages.each do |page|...)
-- SubCategory One (category.sub_categories.each do |sub_category|...
---- Page Two (sub_category.pages.each do |page|...)
Category.rb:
class Category < ActiveRecord::Base
has_many :pages
has_many :sub_categories
end
подкатегорию. гь:
class SubCategory < ActiveRecord::Base
belongs_to :category
has_many :pages
end
Page.rb:
class Page < ActiveRecord::Base
belongs_to :category
belongs_to :sub_category
scope :active_pages, :conditions => {:is_active => true}
end
Я экспериментировал с запросами, как следующий с небольшим успехом, где заинтересованные sub_categories:
Category.includes(:sub_categories, :pages).where('pages.is_active = 1')
Категория прекрасно работает, но я не уверен, как нетерпеливые нагрузки на sub_categories. Спасибо заранее, любая помощь очень ценится.
Спасибо, Ноэль. Это работало как прелесть (я переписал синтаксис для Activerecord 3), а рендеринг - с 1200 мс до 200 мс. Еще раз спасибо. – TMB
Появился новый синтаксис для Active Record 3 ???? Почему я не сказал об этом? !!! :) –