カクカクしかじか

技術的なアレコレ

mongoidはデフォルトだとモデルにcreated_atとupdated_atが存在しないので追加する方法

問題

Railsでmongoidを使用した場合、デフォルトのままだと当たり前にあると思いがちな created_atupdated_at が存在しないモデルが生まれます。
今回はこれの追加方法について触れてみます。

解決法

モデルのファイルに include Mongoid::Timestamps を追加するだけ。

class Task
  include Mongoid::Document
  include Mongoid::Timestamps # この部分を追加することで解決出来る
  field :name, type: String
  field :description, type: String
end

追加前

created_atupdated_at が存在しないことがわかります。

image.png

追加後

created_atupdated_at が存在することがわかります。

image.png

最後に

会社でいじっているアプリは、この定義がすでに追加されていた後なので意識しなかったですが、自分で1から組んでみたら「あれ??」ってハマってしまいました...
すでに動いてるアプリの実装一つ一つ地道に紐解いていくことも大切だと実感したい次第です!