Без использования каких-либо драгоценных камней, как это сделать в рельсах?
Основная категория
Подкатегория
Подкатегория
Подкатегория
Основная категория
Подкатегория
Подкатегория
Подкатегория
Основная категория
Подкатегория
Подкатегория
Подкатегория
У меня есть таблица, состоящая из | id | Уровень 1 | Уровень2 |
Уровень 1 является основной категорией, а уровень 2 - подкатегорией
Мне бы хотелось, чтобы он отображался в представлении, как показано выше.
Оглядываясь по Интернету, все, кажется, рекомендуют использовать драгоценный камень с эффектами, подобный дереву, но я хочу избежать использования их, поскольку я довольно новичок в рельсах, и я хотел бы понять, как делать вещи, а не превратитесь в драгоценные камни.
Ваша помощь сильно оценена
Модель:
class Category < ActiveRecord::Base
belongs_to :catalogue
has_many :subcategories, :class_name => "Category", :foreign_key => "parent_id", :dependent => :destroy
belongs_to :parent_category, :class_name => "Category"
end
Контроллер:
class CataloguesController < ApplicationController
layout 'main'
def index
@cats = Catalogue.all
end
def categories
@cat = Catalogue.find(params[:id])
end
end
Вид:
<ul class="unstyled-list">
<% @cat.categories.order([:level1]).each do |cat|%>
<li><%= cat.level1 %></li>
<li><%= cat.level2 %></li>
<% end %>
</ul>