Это происходит из мира Rails, но это довольно общий вопрос о наследовании одной таблицы.Единственная причина, по которой я спрашиваю, состоит в том, что люди продолжают давить на меня ИППП, когда для этого нет явной причины.Может быть, я что-то упустил?Пожалуйста, рассмотрите эти два сценария для отображения и хранения содержимого страницы для различных страниц на сайте:
Сценарий 1
class ContentItem < ActiveRecord::Base
belongs_to category
end
Здесь все возможные элементы хранятся в одной таблице, отличающейся толькокатегория.Тогда везде, где вам нужно отобразить все новости или часто задаваемые вопросы, вы просто звоните в категорию.
Сценарий 2
class ContentItem < ActiveRecord::Base
end
class FaqItem < ContentItem
end
class NewsItem < ContentItem
end
Здесь нет необходимости в категории, но если вы когда-либоМне нужно добавить еще один тип ContentItem, вам нужно создать другую модель, другую и т. д.
Моя проблема со сценарием № 2 заключается в том, что FaqItem & NewsItems точно такие же.Они никогда не будут разными.Единственное отличие состоит в том, что они могут быть изменены разными людьми (администратор сайта или пиарщик новостей).
Итак, хотя оба подхода хороши, зачем выбирать один сценарий из другого в этом конкретном случае?