ruby-on-rails – 具有Rails和Mongoid的动态属性

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 具有Rails和Mongoid的动态属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在通过使用Rails(Rails 3 beta 3)的Mongoid Ruby宝石学习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

我正在寻找帐户模型的“info_needed”属性,并根据内部的内容在成员模型中创建动态属性.如果club.info_needed是[“first_name”,“last_name”],我试图创建一个将first_name和last_name属性保存到Member模型的表单.

但是,在实践中,在尝试执行此操作时,我会继续在成员模型中获取“undefined method first_name =”错误.我知道MongoDB可以处理每个记录的动态属性,但是如何在没有未定义的方法错误的情况下让Mongoid执行此操作?

解决方法

Mongoid并不真正支持它.

我自己在Mongoid小组里碰巧有这个asked.

创建新文档时可能会像这样:

account = Account.new(:some_dynamic_field =>“…”)

猜你在找的Ruby相关文章