Mongoid 嵌入式文档中的时间戳
TimeStamps in Mongoid Embedded Documents
我有一个嵌入集合 B 的集合 A。集合 A 和集合 B 包括 Mongoid 时间戳(created_at 和 updated_at)。
现在,当我使用 Rails admin 创建集合 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
Class B嵌入在class A中。当通过rails admin在A内部创建B的条目时,则created_at和updated_at B 的字段被保存为 nil。
没有 class A
或你使用的 mongoid 版本的信息(我假设 5.x)我在这里做了一些疯狂的猜测,你错过了嵌入式上的 cascade_callbacks 标志关系
class A
include Mongoid::Document
embeds_many :albums, cascade_callbacks: true
end
我有一个嵌入集合 B 的集合 A。集合 A 和集合 B 包括 Mongoid 时间戳(created_at 和 updated_at)。
现在,当我使用 Rails admin 创建集合 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
Class B嵌入在class A中。当通过rails admin在A内部创建B的条目时,则created_at和updated_at B 的字段被保存为 nil。
没有 class A
或你使用的 mongoid 版本的信息(我假设 5.x)我在这里做了一些疯狂的猜测,你错过了嵌入式上的 cascade_callbacks 标志关系
class A
include Mongoid::Document
embeds_many :albums, cascade_callbacks: true
end