ModelとConcernに記述したcallbackの実行順
結論
Concern に記述された callback が先に実行される。
既存の callback を Model もしくは Concern に移すときは気をつける必要がある。
以下確認コード
class Hoge < ApplicationRecord include HogeConcern before_validation -> { puts "before_validation in Class" } end class HogeConcern extend ActiveSupport::Concern included do before_validation -> { puts "before_validation in Concern" } end end
[2] pry(main)> Hoge.create (0.5ms) BEGIN before_validation in Concern before_validation in Class ...