Ich lerne MongoDB über das Mongoid Ruby Juwel mit Rails (Rails 3 Beta 3), und ich versuche, eine Möglichkeit zu finden, dynamische Attribute auf einem Modell basierend auf Feldern zu erstellen ein anderes Modell, für das ich eine schemalose Datenbank für eine gute Wahl hielt.Dynamische Attribute mit Rails und Mongoid
So zum Beispiel, würde ich die Modelle hat:
class Account
include Mongoid::Document
field :name, :type => String
field :token, :type => String
field :info_needed, :type => Array
embeds_many :members
end
class Member
include Mongoid::Document
embedded_in :account, :inverse_of => :members
end
Ich suche das „info_needed“ Attribut des Kontomodelles und erstellt dynamische Attribute des Mitglieds Modell auf der Grundlage zu nehmen, was drin ist. Wenn club.info_needed ["first_name", "last_name"] war, versuche ich ein Formular zu erstellen, das die Attribute first_name und last_name im Member-Modell speichert.
Allerdings bekomme ich beim Üben immer wieder "undefined method first_name =" Fehler im Member-Modell, wenn Sie dies versuchen. Ich weiß, MongoDB kann dynamische Attribute pro Datensatz verarbeiten, aber wie kann ich Mongoid dazu bringen, dies ohne einen undefinierten Methodenfehler zu tun?
Ich würde bitten, dass Sie meine Antwort unten als die Antwort auswählen, da es genauer als die derzeit ausgewählte Antwort ist. –