has_many how to not create object without child?

I have Shop has_many documents.
I do not want create a Shop without almost one document associated.
That is: now I can do shop=Shop.create(.....) and shop.documents is
[], instead I don't want the possibility to create a shop without
almost one document.
How can I do this?