joining 2 tables

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

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.

@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. :frowning:

Colin