Upgrade mongoid from v5.4.0 to v6.4.2

Upgrading mongoid v5.4.0 -> v6.4.2 refs: https://docs.mongodb.com/mongoid/6.4/tutorials/mongoid-upgrade/#upgrade-to-6-x-series 6.0.0.beta https://github.com/mongodb/mongoid/releases/tag/v6.0.0.beta MONGOID-3944 Support #create_with method. 🆕#create_with メソッドの追加 ActiveRecord の #create_with の mongoid…

Mongoid エラーメッセージが翻訳されない時

Env Rails 4.2.7 Mongoid 5.1.1 Mongoid のエラーメッセージを正常に出力する 英語以外のロケールで Mongoid を使用していると、 Mongoid のエラーが発生した際にそのエラーメッセージが翻訳できずに translation missing エラーが発生してしまいます。 Mongoid::Errors::DocumentNotFound: translation missing: ja.mongoid.errors.messages.message_title: translation missing: ja.mongoid.errors.messages.document_not_found.message translation missing: ja.mongoid.errors.messages.summary_title: translation missing:…

Mongoid フィールド定義の上書きを設定する

Env Rails 4.2.7 Mongoid 5.1.1 結論 警告を消したいなら、以下のように overwrite オプションを追加することで消すことができます。 field :_id, type: String, overwrite: true, default: -> { generate_id } 以下では設定前後の比較やログの確認をしています。 警告メッセージを確認する フィールドを重複して定義していると警告がログに出力されます。 コーディングミスにより重複している場合はこのログで気づけるわけです。 ですが、例えば _id フィールドの採番ルールをカスタマイズしたい場合など、フィールドを再定義したい場合があります。 app/models/user.rb class User include Mongoid::Document include Mongoid::Timestamps field :_id, type: String,…