Является ли то, что я делаю, практичным или есть гораздо более простой способ внедрения этой системы категорий / подкатегорий?
Моя система классификации
У меня естьприложение с таблицей posts
, которая будет организована таблицей blog_categories
.Эта категоризация имеет основные категории и подкатегории.blog_categories
с parent_id
как NULL
являются основными категориями.ссылка подкатегории на главную через :string
с основной :name
.
Назначение категории для сообщения
Я пытался реализовать это, используяsimple_form
и хотел иметь выпадающий селектор, разделивший набор подкатегорий на основную категорию.Я столкнулся с проблемой показа только первого элемента в каждом массиве, когда попытался создать массив массивов:
<%= f.input :category_id, prompt: "Select Category", collection: [
["No-category"],
["All News","Audio Industry","Game Audio","Film Audio"],
["All Reviews","Software","Hardware"],
["All Interviews","Sound Designers","Game Developers","Voice Talent"],
["All Tutorials","Sound Design","Composition","Implementation","Voice Acting"]
], input_html: { class: "form-control center" } %>
blog_category Modal :
class BlogCategory < ApplicationRecord
has_many :posts
# This is called a self referential relation. This is where records in a table may point to other records in the same table.
has_many :sub_blog_categories, class_name: "Category", foreign_key: :parent_id
end
blog_categories Таблица:
t.string "name"
t.string "parent_id"
Сообщение модальное: belongs_to :blog_category
posts Таблица: t.string "category_id"
Есть ли другой способ добавления в группы / разделители в раскрывающемся списке?
Должен ли я даже использовать этот подход при подборе подкатегорий?
Будет ли это работать даже при использовании основных категорий и подкатегорий?