I have a questions about how to best present a form based off a many to many relationship to a user. I'll explain my models to help give an idea of what data I need to present.
Models and Relationships
Shipment has_many :products :through => :shipment_products
Product has_many :shipments :through => :shipment_products
ShipmentProducts belongs_to :shipment, belongs_to :product
So basically I have A shipment form that has the necessary data to create a bill of lading. In addition to that form, I need to select multiple products and their quantities. I've had a similar issue in the past where I used drag and drop, but I was unhappy with the experience being a little cumbersome. In this case I believe there would be too many products to list in a container to be able to drag and drop.
So what I need is a form that will allow me to fill out the shipment data, search for a product, select the product, add the quantity, and associate that with a shipment. What is the most effective way of designing my form so these items are presented clearly to my end user?