Dynamische Attribute mit Rails und Mongoid
Ich lerne MongoDB über das Ruby-Juwel der Mongoiden mit Rails (Rails 3 Beta 3) und versuche, eine Möglichkeit zu finden, dynamische Attribute für ein Modell zu erstellen, das auf Feldern eines anderen Modells basiert, für das ich ein Schema hielt -less Datenbank wäre eine gute Wahl für.
So zum Beispiel hätte ich die Modelle:
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 möchte das Attribut "info_needed" des Kontomodells verwenden und basierend auf dem Inhalt dynamische Attribute für das Mitgliedsmodell erstellen. Wenn club.info_needed ["Vorname", "Nachname"] war, versuche ich, ein Formular zu erstellen, in dem die Attribute "Vorname" und "Nachname" im Mitgliedsmodell gespeichert werden.
Nach dem Üben erhalte ich jedoch immer wieder undefined method first_name = -Fehler im Member-Modell, wenn ich dies versuche. Ich weiß, dass MongoDB dynamische Attribute pro Datensatz verarbeiten kann, aber wie kann ich Mongoid dazu bringen, dies ohne einen undefinierten Methodenfehler zu tun?