prevent an object from being destroyed if it has related records

This is a total noob question, but how do you prevent a record from
being destroyed if it has any related records. In my case, I have a
book model and a page model. A book has_many pages.

How do I prevent book.destroy from destroying a book if it has
associated page records? Is there a :dependent option that would do
this? Do I need to do some sort of before destroy callback?

Thanks!

You could always use inheritance.

class Book < ActiveRecord::Base
  def destroy
    return super if page.empty?
    return false
  end
end

Andrew Bloom wrote:

You could always use inheritance.

class Book < ActiveRecord::Base
  def destroy
    return super if page.empty?
    return false
  end
end

I think you can refactor it to:

def destroy
  page.empty? || super
end