Hello, I'm trying to join 2 tables with ruby on rails 3.2. rails generate model product name:string rails generate model price product_id:integer price:integer date:datetime product.rb: class Product < ActiveRecord::Base has_many :prices end price.rb: class Price < ActiveRecord::Base belongs_to :product end What is the most efficient way to get all products including the latest price into the View. Some tries didnt work for this: @test = Product.includes(:prices).all I didnt find anything about the prices in @test. Thanks for help! Fabian
on 2013-01-31 14:52
on 2013-01-31 14:56
On Thu, Jan 31, 2013 at 9:52 PM, Fabian Peter <lists@ruby-forum.com> wrote: > has_many :prices > Some tries didnt work for this: > > @test = Product.includes(:prices).all > I didnt find anything about the prices in @test. > @test contains an array of products. to get the prices, try @test.each do |product| product.prices.each do |price| p price.price end end > "Ruby on Rails: Talk" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rubyonrails-talk+unsubscribe@googlegroups.com. > To post to this group, send email to rubyonrails-talk@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > --
on 2013-01-31 15:05
On 31 January 2013 13:55, Jim Ruther Nill <jvnill@gmail.com> wrote: >> rails generate model price product_id:integer price:integer >> end > @test contains an array of products. to get the prices, try > > @test.each do |product| > product.prices.each do |price| > p price.price > end > end But you don't need .includes, @test = Product.all will work fine (though I would prefer @products =Product.all since that is what they are). If you inspect @test you will not see the prices, but as soon as you ask for the prices it will fetch them. Such is the magic or Rails. I am sure readers here are bored with me suggesting to beginners that they work right through a good tutorial such as railstutorial.org, which is free to use online, but it is definitely a good idea as it would give you a good introduction to the basics of rails. Also look through the Rails Guides. For some reason I am rarely thanked for offering this advice. :( Colin
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.