Mongoid嵌入式文档中的TimeStamps

时间:2016-03-28 11:18:57

标签: ruby-on-rails mongodb mongoid

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

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

任何帮助都将不胜感激。

编辑:

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类中。当在A通过rails admin创建B的条目时,B的created_at和updated_at字段将被保存为nil。

1 个答案:

答案 0 :(得分:7)

没有class A或者你使用的是什么mongoid版本的信息(我假设是5.x)我在这里做了一些疯狂的猜测你错过了嵌入关系中的cascade_callbacks标志。

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