I'm brazilian, so, sorry for English...
I'm learning Ruby on Rails.
My project has 3 tables: - food - restaurant - food_restaurant
I can insert records in "food" and "restaurant" by default procedure:
I'm brazilian, so, sorry for English...
I'm learning Ruby on Rails.
My project has 3 tables: - food - restaurant - food_restaurant
I can insert records in "food" and "restaurant" by default procedure:
I'm brazilian, so, sorry for English...
I'm learning Ruby on Rails.
My project has 3 tables: - food - restaurant - food_restaurant
I can insert records in "food" and "restaurant" by default procedure: ----------------------------- f = Food.new :name => "Arroz" f.save
r = Restaurant.new :name => "Madalosso", :street => "Rua Tal, 290" r.save -----------------------------
But, how I insert record in table "food_restaurant". "food_restaurant" dont have a object class, so I cant create a object and save...
Did you set this up as a "has and belongs to many" relationship?
class Food > ActiveRecord::Base has_and_belongs_to_many :restaurants ... end
class Restaurant > ActiveRecord::Base has_and_belongs_to_many :foods ... end
If you declared that in your food and restaurant models, and renamed that join table as foods_restaurants, you would get the join for "free", just by loading the relationship in your controller:
@restaurant = Restaurant.find(params[:id]) @foods = Food.where(:foo => 'bar') @restaurant.foods = @foods
when you save @restaurant, a new set of records will be created in foods_restaurants, keying that particular restaurant to those N foods.
This table have 2 columns: "id_food" and "id_restaurant"
These have to be named food_id and restaurant_id
Walter