モデルでのdependentをrestrict にした場合の
消去出来なかった場合のエラー対処方法
Model
class ShareType < ActiveRecord::Base has_many :shares, :dependent => :restrict end
Controller
class ShareTypesController < ApplicationController def destroy begin @share_type.destroy flash[:success] = "successfully destroyed." rescue ActiveRecord::DeleteRestrictionError => e @share_type.errors.add(:base, e) flash[:error] = "#{e}" ensure redirect_to share_types_url end end end
元ネタはこちらから
http://apidock.com/rails/ActiveRecord/DeleteRestrictionError