So this whole many-to-many thing has me really confused. I get how to set it up but I can't seem to find anywhere that really explains the best way to use it in your controller.
What I have:
Products, Orders, Orders_Products
The Products and Orders table has the standard stuff (Id, name, timestamps, etc)
The Orders_Products table has the two id columns (order_id, product_id) and a quantity column.
What I need to do:
Now when I save my "cart" how do you save a new order and each product with its quantity?
This is my first app in rails so the more explanation the better.
Thanks in advance for all the help!
> So this whole many-to-many thing has me really confused. I get how to set it up but I can't seem to find anywhere that really explains the best way to use it in your controller.
>
> What I have:
>
> Products, Orders, Orders_Products
>
> The Products and Orders table has the standard stuff (Id, name, timestamps, etc)
>
> The Orders_Products table has the two id columns (order_id, product_id) and a quantity column.
What do your models look like, exactly? What do your has_many and belongs_to methods read as?
>
> What I need to do:
>
> Now when I save my "cart" how do you save a new order and each product with its quantity?
If you have set up your models correctly to explain the relationship, then all you need to do is get a handle to your cart:
@cart = Order.find(session[:cart_id]) #for example
and then add to its products collection
@cart.products.create(params[:products]) #assuming you have a form for the products
When you save @cart, the relationship will be saved to the database, when you find @cart a second time, the @cart.products will be available to work with.
Walter
>
> This is my first app in rails so the more explanation the better.
>
> Thanks in advance for all the help!
>
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/NZFLIYGhDL8J.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Feb 28, 2012, at 11:42 PM, Brandon Might wrote:> So this whole many-to-many thing has me really confused. I get how to set it up but I can't seem to find anywhere that really explains the best way to use it in your controller.
>
> What I have:
>
> Products, Orders, Orders_Products
>
> The Products and Orders table has the standard stuff (Id, name, timestamps, etc)
>
> The Orders_Products table has the two id columns (order_id, product_id) and a quantity column.What do your models look like, exactly? What do your has_many and belongs_to methods read as?
>
> What I need to do:
>
> Now when I save my "cart" how do you save a new order and each product with its quantity?If you have set up your models correctly to explain the relationship, then all you need to do is get a handle to your cart:
@cart = Order.find(session[:cart_id]) #for example
and then add to its products collection
@cart.products.create(params[:products]) #assuming you have a form for the products
When you save @cart, the relationship will be saved to the database, when you find @cart a second time, the @cart.products will be available to work with.
Walter
>
> This is my first app in rails so the more explanation the better.
>
> Thanks in advance for all the help!
>
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/NZFLIYGhDL8J.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Feb 28, 2012, at 11:42 PM, Brandon Might wrote:> So this whole many-to-many thing has me really confused. I get how to set it up but I can't seem to find anywhere that really explains the best way to use it in your controller.
>
> What I have:
>
> Products, Orders, Orders_Products
>
> The Products and Orders table has the standard stuff (Id, name, timestamps, etc)
>
> The Orders_Products table has the two id columns (order_id, product_id) and a quantity column.What do your models look like, exactly? What do your has_many and belongs_to methods read as?
>
> What I need to do:
>
> Now when I save my "cart" how do you save a new order and each product with its quantity?If you have set up your models correctly to explain the relationship, then all you need to do is get a handle to your cart:
@cart = Order.find(session[:cart_id]) #for example
and then add to its products collection
@cart.products.create(params[:products]) #assuming you have a form for the products
When you save @cart, the relationship will be saved to the database, when you find @cart a second time, the @cart.products will be available to work with.
Walter
>
> This is my first app in rails so the more explanation the better.
>
> Thanks in advance for all the help!
>
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/NZFLIYGhDL8J.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
That should be :orders_products all lower case, so matching the table
name. The same applies to all later relationships.
Colin