如何在我的模型上使用mongoid嵌套属性

时间:2014-08-22 22:19:02

标签: ruby-on-rails mongoid rails-admin

我的应用是 rails_admin mongoid 效果很好。

现在我正在尝试在编辑表单上使用嵌套属性,但我不确切知道如何执行此操作。

我的文件是:

{
    "_id"     :ObjectId("..."),
    "email"   :"steve@steve.com",
    "name"    :"steve",
    "facebook":{
        "id":12345,
    }
}

所以,我的模型是:

class User
   include Mongoid::Document
   field :name
   field :email
   field :facebook
end

所以,问题是:

在编辑表单上,它显示了一个带有facebook json内容的文本字段:{"id":12345}

如何为每个子属性使用一个文本字段?我试过像field :facebook.id这样的东西,但它不起作用。

谢谢!

1 个答案:

答案 0 :(得分:0)

最好是对facebookHash进行自定义字段序列化,类似于

class User
   include Mongoid::Document
    field :name
    field :email
    field :facebook, :type => facebookHash
 end

如果您不了解自定义字段序列化,请查看Custom Fields in MongoId。然后,您可以根据该模型轻松创建部分字段。