У меня есть структура базы данных для категорий как id, name, parent_id
.Вывод родителя, потом детей
Пользователь может ввести категорию и, если он не имеет родителя, то parent_id
поле будет установлено значение 0.
мой взгляд, основная петля показано здесь:
<% @categories.each do |category| %>
<tr class="<%= cycle('one', 'two') %>">
<td>
<%= indent(depth(category.id)) %>
<%= best_in_place category, :name %>
<%= link_to(image_tag('/images/delete.png', :class => 'delete'), "categories/delete/#{category.id}")%>
</td>
</tr>
<% end %>
Функция indent(depth(category.id))
- это всего лишь способ получить глубину дочерней категории и добавить, что многие - для визуальных целей. http://d.pr/Ss8e
Моя проблема заключается в том, что дети не попадают под свой родитель. Я не знаю, как это сделать, любой совет? (group_by или другой цикл, возможно?)
EDIT: Извините, что не ясны. Структура БД у меня есть, как это:
CATEGORIES
id, name, parent_id, user_id
ITEMS
id, name, category_id
Ищу показать категории, как это:
Parent1
Child1
Child2
Parent2
Child1
В настоящее время, цикл перечисляет элементы, основанные на когда они были созданы, это не группа их parent_id, как я хотел бы
у вас есть методы на ваша категория 'parent' и' children'? если нет, начните там и создайте их –
. Я не уверен, что вы имеете в виду, методы, которые у меня есть для категорий внутри контроллера, - это '@categories = @ user.categories' – bcackerman
Вы все еще не сказали мне, что такое родитель. Это другая категория? что категория может быть ассоциирована как ребенок другой категории? –