Hi, I have tried two db designs and both can work but I wonder which one the Rails Gurus would go with. This is a general db design question that has cropped up in a few situation. Here is the example I''ve been working on. In an online store, categories has_and_belongs_to_many images and products has_and_belongs_to_many images. The db has the basic three tables categories - id - name products - id - name images - id - filename What I can''t decide on is how to do the join tables. Option 1 - would have many join tables and require many join models. (The join models are to use the position field for acts_as_list to order the images) categories_images - category_id - image_id images_products - product_id _ image_id Option 2 - have a one generic join table and only one join model image_joins - owner_class - owner_id - image_id In option 2 a record could be (Category, 2, 3) or (Product, 4, 1) -------- Option 1 seems simpler but could lead to some repetitive code (at least in the data base definition). Option 2 is a little more complicated and I don''t know how it fits into the normalization stuff. How do I choose? Thanks, Peter