Я изучаю MongoDB с помощью монгольского Ruby gem с Rails (Rails 3 beta 3), и я пытаюсь создать способ создания динамических атрибутов на модели, основанной на полях из другой модели, которые, как я думал база данных без схемы была бы хорошим выбором для.
Так, например, у меня были бы модели:
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
Я хочу взять атрибут "info_needed" модели Account и создать динамические атрибуты в модели Member, основываясь на том, что внутри. Если club.info_needed был [ "first_name", "last_name" ], я пытаюсь создать форму, которая сохранит атрибуты first_name и last_name модели Member.
Однако, после практики, я просто продолжаю получать ошибки undefined метода first_name = "в модели Member при попытке сделать это. Я знаю, что MongoDB может обрабатывать динамические атрибуты на запись, но как я могу заставить Mongoid сделать это без ошибки метода undefined?