All, I''ve just started Rails and Ruby a week or so ago. Please forgive me for my ignorance. I started writing a small test application to test some of my new knowledge and have hit a wall. Would like some best practices. I have 3 tables, as below... CREATE TABLE `carts` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `quantity` int(11) NOT NULL, PRIMARY KEY (`id`) CREATE TABLE `orders` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `address` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; CREATE TABLE `order_details` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `quantity` int(11) NOT NULL, `order_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; model cart.rb class Cart < ActiveRecord::Base end model order.rb class Order < ActiveRecord::Base has_many :order_details end model order_detail.rb class OrderDetail < ActiveRecord::Base belongs_to :order end In the carts table holds a shop cart with product details. For the ease of implementation, I''ve refrained from putting relationships with a product table or any session. Let''s just say, the field name "name" is the product name and "quantity" holds the quantity. What I want to do is when the order is created via a form with the "name" and "address" fields, it will create 1. The order in the order table 2. Utilize the relationship in the model and update/create the order_details from the contents of the cart table. My question is if there is a simpler way to do the following with a more ruby like way. I''ve read in a book that you can do a @order.order_detail << @cart based on the code below. Any advice is greatly appreciated. What I''ve done in the controller is this ... order_controller.rb class OrderController < ApplicationController def new end def create @cart = Cart.find(:all) @order = Order.new(params[:order]) @order.save! @cart.each do |cart| @order_details = OrderDetail.new @order_details.name = cart.name @order_details.quantity = cart.quantity @order_details.order_id = @order.id @order_details.save! end end end ------ view order/new.rhtml <% form_tag :action => ''create'' do %> <p><label for="name">Name</label><br/> <%= text_field ''order'', ''name'' %></p> <p><label for="name">Address</label><br/> <%= text_field ''order'', ''address'' %></p> <%= submit_tag "Create" %> <% end %> view order/create.rhtml <h1>OK!</h1> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---