Rails

ActiveRecordでnew => build => save! するとどうなる

関連付けのあるモデルにおいて、親レコードをnew => 子レコードをbuild => 親レコードをsave! したときの挙動が複雑な気がしたのでメモ。 (理解力が不足しているだけかもしれない。) 検証環境: ActiveRecord 6.0.2.1 追記 さんざん書いてから気づいたのだ…

Rspecでuse_transactional_fixturesはexampleのみにtransactionを張る

Rspecの基本的なことを知らなかったのでメモ。 rails_helper.rb RSpec.configure do |config| config.use_transactional_fixtures = true end 1つ1つのテストにtransactionを張って、テスト終了時に必ずrollbackしてくれる設定。 user_spec.rb require 'rail…

もろもろメモ

railsのバリデーションでは、インスタンス.errors[:attribute]に、そのattributeに関するエラー("can't be blank"とか)を配列として格納する。 モデル#saveとかだとエラーをraiseしてしまうので、確認するだけならモデル#valid?をつかう。 Railsのモデルのバ…

おしごとコード解読メモ

Settings.hogeという書き方はrails_configというgemにより可能になっている。 rails_configで定数を管理する -- blog.10rane.com Retriableというgemがある。 Retriable.retriable :tries => リトライしたい回数, :on_retry => リトライ時に実行したい処理 d…