Ich versuche meine erste Anwendung mit mongodb auf Rails mit mongo_mapper und ich bin meine Optionen auf ein STI-Modell wie unten abwägen.
Es funktioniert gut, und ich werde natürlich mehr dazu beitragen, als ich derzeit zählen kann, ich bin nur neugierig, ob ich nicht besser dran wäre mit eingebetteten Dokumenten oder so etwas.
Ich möchte meine Modelle so viel wie möglich zu teilen, IE, da sie alle bestimmte Attribute erben, ein gemeinsames Formular teilweise auf Eigenschaft/_form.html.erb... zusätzlich zu ihren eigenen einzigartigen Form-Elemente usw. Ich weiß, die Ansichten werden sich unterscheiden, aber ich bin nicht sicher, auf die Controller noch, wie ich Eigenschaft Controller verwenden könnte ich für die meisten Dinge annehmen? Und ich bin sicher, es wird komplexer werden, wie ich weitergehen.
Für Hinweise auf Ressourcen und/oder Weisheiten (Tipps zur Schmerzreduzierung) wären wir Ihnen sehr dankbar.
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
Restaurant
class Restaurant < Property
key :cuisine_types, Array, :required => true
end
bar
class Bar < Property
key :beers_on_tap, Array
end