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?