Cómo mostrar categoría y subcategoría

Hay una tabla con campos: id, nombre, id_cat. Muestre un ejemplo de un método que genere estas categorías. ¿Y dónde desea implementar este método en el controlador o en los ayudantes? Ayude a implementar este método recursivo.

preguntado el 10 de marzo de 12 a las 16:03

@ user1233943... esta pregunta está incompleta y no está clara. Asegúrese de dar más detalles para entender la pregunta:

1 Respuestas

Según entiendo correctamente, tiene una tabla de categorías con una referencia circular realizada por la columna id_cat.

El siguiente modelo debería funcionar como esperabas:

class Category < ActiveRecord::Base
  belongs_to :supercategory, :class_name => "Category", :foreign_key => "cat_id"
  has_many :subcategories, :class_name => "Category", :foreign_key => "cat_id"
end

Entonces si categories la mesa se parece a:

id   |   name    |  cat_id
---------------------------
1    | cat 1     | null
2    | cat 1.1   | 1
3    | cat 1.2   | 1
4    | cat 2     | null
5    | cat 1.2.1 | 3

Category.find(1).subcategories devuelve una matriz con cat 1.1 y cat 1.2 objetos.

Category.find(1).supercategory devoluciones nil

Category.find(3).supercategory devoluciones cat 1 objeto

Category.find(4).supercategory devoluciones nil

...

respondido 10 mar '12, 18:03

He agregado algunas explicaciones adicionales en mi respuesta. - Radek

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.