Rails

RSpec で ActiveModel::Errors のモックを作成する

ActiveRecord::RecordInvalid が発生するかどうかをテストするために ActiveModel::Errors のモックを作りたい。 実行環境 ruby 2.6.6 Rails 6.0.3.6 ActiveRecord::RecordInvalid が発生するかどうかのテスト subjectが実行された際 ActiveRecord::RecordIn…

Rails のコネクションプールについて( Puma の Worker 数も変えてみた)

Railsのコネクションプール経由で行っているDB接続について、少し調べたのでメモを残します。 実行環境 Rails 6.1.3.1 Connection Pool とは コネクションプールとは、Railsの処理がデータベースにアクセスするたびにコネクション接続と切断を行って負荷が高…

RailsとMySQLとでタイムゾーンが異なる場合の検索の仕方

RailsとMySQLなどのDBとでタイムゾーンが異なる場合に、データ抽出や検索の際にミスが起こりそうなので自戒の意味を込めてメモします。 なおRailsコンソールで検索する方法について記載しています。 実行環境 ruby 2.6.6 Rails 6.0.3.6 まずはそれぞれにおけ…

Railsのbuild_associationの挙動について

登録したデータが削除される?! build_associationで新規登録しようとすると、 既存のデータが削除されてしまい、混乱したのでメモとして残します。 実行環境 ruby 2.6.5 Rails 6.0.2.2 かんたんなケースで動作確認してみる UserとUserProfileというモデル…