相关疑难解决方法(0)

使用Rails和Mongoid的动态属性

我正在通过带有Rails(Rails 3 beta 3)的Mongoid Ruby gem学习MongoDB,我正试图想出一种基于另一个模型的字段在模型上创建动态属性的方法,我认为这是一种模式 - 少数据库将是一个不错的选择.

例如,我有模型:

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
Run Code Online (Sandbox Code Playgroud)

我希望获取Account模型的"info_needed"属性,并根据内部的内容在Member模型上创建动态属性.如果club.info_needed是["first_name","last_name"],我正在尝试创建一个将first_name和last_name属性保存到Member模型的表单.

但是,在练习时,我只是在尝试执行此操作时不断在成员模型上获得"undefined method first_name ="错误.我知道MongoDB可以处理每个记录的动态属性,但是如何在没有未定义的方法错误的情况下让Mongoid执行此操作?

ruby-on-rails dynamic-attributes mongodb mongoid

15
推荐指数
3
解决办法
2万
查看次数