2010-01-20 3 views
3

Имеет ли смысл сохранять имя класса в поле при использовании наследования с помощью mongomapper/rails?Наследование с помощью MongoMapper: поиск родительского класса

class Item 
    include MongoMapper::Document 
    timestamps! 
    key :class, String # does this actually make sense? 
    key :title, String 
end 

class Post < Item 
    key :body1, String 
end 

class Page < Item 
    key :body2, String 
end 

Если поиск предмета выполняется, MongoMapper вернет объекты предметов. Непонятно, какие объекты они есть. если мы хотим отобразить значок или что-то подобное, чтобы отличать элементы друг от друга, это можно сделать, сохранив имя класса в db. это имеет смысл, или есть лучший способ?

ответ

1

вы можете посмотреть на этой StackOverflow теме: MongoMapper Parent Inheritance

на самом деле вы используете «_Type» в качестве имени ключа, mongomapper автоматически добавляет имя класса к записи:

key :_type, String 
+0

спасибо за ответ. Я действительно больше спрашивал, является ли это хорошей практикой с точки зрения дизайна, но это ответ, поэтому я принял его. – 2010-01-21 05:29:03

Смежные вопросы