sample application with carrierwave and plupload where models like page can have multiple different assets like images, gallery images, movies, audio. and this with 2 tables for assets and assets assignments. checkout page model