destroyの取り扱い
概要
削除処理は失敗することがあまりないので削除が成功したことを確認する処理をしないことが多い
削除に失敗する例
before_destroyコールバックでthrow :abortされた場合
code:ruby
class Post < ApplicationRecord
before_destroy :check_if_permanent
private
def check_if_permanent
throw :abort if is_permanent
end
end
dependent: :restrict_with_exception
dependent: :restrict_with_errorが設定され、なおかつ関連する子レコードを持つ親レコードを削除しようとした場合
code:ruby
class User < ApplicationRecord
has_many :posts, dependent: :restrict_with_error
end
/icons/hr.icon