【问题标题】:how to use mongoid nested attributes on my model如何在我的模型上使用 mongoid 嵌套属性
【发布时间】:2014-08-22 22:19:02
【问题描述】:

我的应用是 rails_adminmongoid 运行良好。

现在我正在尝试在编辑表单上使用嵌套属性,但我不知道具体该怎么做。

我的文件是:

{
    "_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 的方法,但它不起作用。

谢谢!

【问题讨论】:

  • 您是否尝试过指定字段类型?以field :name, :type => String; field :email, :type => String; field :facebook, :type => Hash 为例。
  • 什么是facebook字段数据类型?
  • @muistooshort 设置类型为Hash 它显示一个带有 BSON 内容的文本区域
  • @RubyOnRails 我尝试设置为 Hash 但它显示了一个带有 BSON 字符串的文本区域
  • 你能告诉我你在执行什么!!!你能像

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


【解决方案1】:

更好的是做一个facebookHash的自定义字段序列化,类似于

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

如果您不知道自定义字段序列化,请查看Custom Fields in MongoId。然后,您可以轻松地在该模型的基础上创建部分字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    相关资源
    最近更新 更多