ruby-on-rails - Mongoid 嵌入式文档中的时间戳

标签 ruby-on-rails mongodb mongoid

我有一个嵌入集合 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

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

最佳答案

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

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

关于ruby-on-rails - Mongoid 嵌入式文档中的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36261264/

相关文章:

ruby-on-rails - 我如何查看哪些作业已使用 resque-scheduler 排队?

javascript - mongodb-如何从此查询中隐​​藏 _id ?

ruby-on-rails - 如何将 ActionController::RoutingError 分类为 Sentry 中的错误

sql - 如何修复我在 nosql (mongodb) 中的 m..n 关系?

javascript - 在 GridFS、express、mongoDB、node.js 中存储来自 POST 请求的数据流

ruby-on-rails - Rails 模型单一化无法正常工作

ruby-on-rails - 我如何才能只抓取 20 分钟前创建的带有评论的文章?

ruby-on-rails-3 - 如果失败则恢复 Mongoid

ruby-on-rails - 如何让 has_and_belongs_to_many 进行批量插入?

ruby-on-rails - Rails 3:处理 ActiveRecord::RecordNotUnique 异常