【问题标题】:TimeStamps in Mongoid Embedded DocumentsMongoid 嵌入式文档中的时间戳
【发布时间】:2016-03-30 16:40:11
【问题描述】:

我有一个嵌入集合 B 的集合 A。集合 A 和集合 B 包括 Mongoid 时间戳(created_at 和 updated_at)。

现在,当我使用 Rails 管理员创建集合 B(嵌入对象)的新条目时,保存在数据库中的时间戳为零。但是,如果我从 rails 控制台或普通 api 创建一个条目,则保存在数据库中的时间戳不是 nil。

任何帮助将不胜感激。

编辑:

class B
  include Mongoid::Document
  include Mongoid::Timestamps::Created
  include Mongoid::Timestamps::Updated

  field :user_id,    type: String
  field :message,    type: String
  field :status,     type: Integer, default: 1
  field :spam_count, type: Integer, default: 0

  embedded_in :A

B 类嵌入在 A 类中。当通过 rails admin 在 A 中创建 B 的条目时,B 的 created_at 和 updated_at 字段将被保存为 nil。

【问题讨论】:

  • 你能贴出你目前写的代码吗?

标签: ruby-on-rails mongodb mongoid


【解决方案1】:

如果没有class A 或您使用的 mongoid 版本(我假设是 5.x)的信息,我在这里做了一些疯狂的猜测,您在嵌入式关系中缺少 cascade_callbacks 标志。

class A
  include Mongoid::Document
  embeds_many :albums, cascade_callbacks: true
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 2011-04-11
    • 1970-01-01
    相关资源
    最近更新 更多