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 件のコメント:
コメントを投稿