Я пробую свое первое приложение с mongodb на Rails, используя mongo_mapper, и я взвешиваю свои варианты для модели STI, как показано ниже.
Это прекрасно работает, и я, конечно, добавлю к этому больше способов, чем могу сосчитать, мне просто любопытно, не лучше ли мне было бы использовать встроенные документы или что-то подобное.
Я бы хотел, чтобы мои модели имели как можно больше общего доступа, т.е. IE, поскольку все они наследуют определенные атрибуты, частичную форму общего доступа для свойства / _form.html.erb ... в дополнение к своим собственным уникальным элементам формы и т. Д. I знаю, что представления будут отличаться, но я еще не уверен в контроллерах, так как я мог бы использовать контроллер свойств, который я предполагаю для большинства вещей? И я уверен, что со временем все будет сложнее.
Будем весьма благодарны за любые ресурсы и / или мудрость указателей (советы по экономии боли)
property.rb
class Property
include MongoMapper::Document
key :name, String, :required => true
key :_type, String, :required => true
key :location_id, Integer, :required => true
key :description, String
key :phone, String
key :address, String
key :url, String
key :lat, Numeric
key :lng, Numeric
key :user_id, Integer, :required => true
timestamps!
end
ресторан
class Restaurant < Property
key :cuisine_types, Array, :required => true
end
бар
class Bar < Property
key :beers_on_tap, Array
end