У меня есть вопрос, и я ценю, если кто-нибудь может мне помочь. Я работаю над проектом и должен создавать категории и для каждой категории, подкатегории и снова для каждой подкатегории подкатегория. Это как водопад ... Какое лучшее решение для этого? Нужно ли мне создавать модель для каждого из них и связывать их друг с другом или вы можете предложить лучшее решение?Ruby on Rails Создание категорий и для каждой категории, подкатегории и снова для каждой подкатегории a подкатегория
0
A
ответ
0
Пусть попробовать этот gem
Это помогает легко создавать иерархию моделей (например, дерево). Поэтому в вашем случае вы можете использовать этот камень для создания дерева категории. Например:
Category A has Category B, Category C
Category B has Category B1, Category B2
and so on!
1
Я бы сделал это с самонаследованием + полиморфизмом и одной таблицей с несколькими моделями.
, как показано ниже:
Категория Модель:
class Category < ActiveRecord::Base
self.inheritance_column = :child_class
has_many :disabled_category_business_types
has_many :sub_categories, :class_name => 'SubCategory', :foreign_key => :parent_id, :as => :parent
belongs_to :parent, :polymorphic => true
def all_categories
Category.where(:parent_type => 'System')
end
def all_subcategories
Category.where(:child_class => 'SubCategory')
end
def all_subsubcategories
Category.where(:child_class => 'SubSubCategory')
end
def child_ids
return self.sub_category_ids if self.child_class == 'Category'
return self.sub_sub_categories if self.child_class == 'SubCategory'
end
end
SubCategory Модель:
class SubCategory < Category
has_many :sub_sub_categories , :class_name => "SubSubCategory" , :as => :parent , :dependent => :destroy
end
SubSubCategory [Вы можете изменить название модели, как подходит вам лучше всего.]
class SubSubCategory < Category
has_many :items , :class_name => "Item", :foreign_key => :category_id, :dependent => :destroy
end
Это решение, которое вы ищите. Надеюсь, это поможет.
Смежные вопросы
- 1. D3 цвета для категорий и аналогичных цветов для каждой подкатегории
- 2. Wordpress категорий и подкатегории
- 3. Категории и подкатегории Wordpress
- 4. Категории и подкатегории Запрос?
- 5. Категории и подкатегории Android
- 6. Категории и подкатегории
- 7. Rails: категории и подкатегории дерева
- 8. Структура базы данных для категории и подкатегории
- 9. Показать подкатегории на каждой странице категории WordPress
- 10. Создание категории/Подкатегории константы для страницы архива подкатегории
- 11. Отображение имен категорий и подкатегорий в Ruby on Rails
- 12. URL маршрутизации Категории и Подкатегории
- 13. Категории и подкатегории wordpress
- 14. список все продукты основной категории и подкатегории
- 15. Django - категории и подкатегории
- 16. Оберните подкатегории, подкатегории и т.д.
- 17. Категория/Подкатегория: Как получить все подкатегории (их подкатегории тоже) для данной категории?
- 18. Joomla - Категории и подкатегории календаря
- 19. категории и подкатегории
- 20. как отображать категории, подкатегории категории и подкатегории подкатегорий - CodeIgniter
- 21. Категории посева и подкатегории
- 22. Linq Категории и подкатегории
- 23. Как добавить подкатегории в категории Модель
- 24. Wordpress показать подкатегории категорий
- 25. Класс схема категории и подкатегории
- 26. перебрать семьи, категории и подкатегории
- 27. Rails FriendlyId для дружественного URL-адреса для категории и подкатегории
- 28. Категории и подкатегории мод переписать
- 29. Вставьте категории и подкатегории из другой таблицы
- 30. Smarty вывод категории и подкатегории
Также мне нужно создать модель для местоположения, которая может показать страну -> провинция -> город -> город -> область Это как водопад снова! Я не знаю, для чего это лучшее решение? Любой Ruby Gem для этого? – AdamGol
Для категорий можно сделать это только с двумя моделями, использующими взаимосвязь «многие-ко-многим». Для местоположения вы можете просто сделать стол с полями страны, провинции, города и города. Похоже, что вы не знакомы с отношениями Active Record, поэтому вы должны прочитать это: http://guides.rubyonrails.org/association_basics.html – trosborn
попробуйте http://stackoverflow.com/a/14198034/3437900 – illusionist