@Morphine43
Техник АСУП

Ruby on rails: Как отобразить иерархический список?

В проекте необходимо создать вложенную иерархию категорий.
Миграция:
class CreateCategories < ActiveRecord::Migration
  def change
    create_table :categories do |t|
      t.string :title
      t.references :parent, index: true
      t.timestamps null: false
    end
  end
end

Соответственно модель:
class Category < ActiveRecord::Base
  has_many :subordinates, class_name: "Category",
           foreign_key: "parent_id"

  belongs_to :parent, class_name: "Category"


end


(материал взят отсюда)
Собственно вопрос: Каким образом проверить имеет ли категория подчиненных и, если да, то вывести их?
P.S. хотя бы пните в то место где про это прочитать для нуба
  • Вопрос задан
  • 280 просмотров
Решения вопроса 1
@Morphine43 Автор вопроса
Техник АСУП
Отработал корректно следующий код:
<% if category.subordinates.count >=1 %>
          <%= category.subordinates.first.title %>
              <% end %>

соответственно subordinates содержит много объектов (исходя из связи has_many), а значит выражение category.subordinates.title некорректно (запрашиваем 1 title у множества объектов). Вывод: разбираем subordinates через each
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы