before_destroyで削除前にチェックをして条件を満たさないと削除できないようにしようと思ったわけです。
削除自体はできなくなるのですが、エラーメッセージが出なかったり、出たとしても
削除できませんでした。
な感じのそっけないメッセージになります。
できれば削除できない理由をちゃんとメッセージしたいなぁと思ったわけです。
まずエラーメッセージを出すようにするには
before_destroyの中で例外を発生させる必要があります。
でエラーメッセージですが、
do_destroyという関数を書けばよいようです。
以下のような感じです。
def do_destroy destroy_find_record begin self.successful = @record.destroy rescue Exception => ex flash[:warning] = "オリジナルメッセージ" self.successful = false end end
以下が参考になりました。
http://groups.google.com/group/activescaffold/browse_thread/thread/3af21f82c1695a57?pli=1
0 件のコメント:
コメントを投稿