Hi,
Anybody please tell me the tutorial way to connect and retrieve data using foreign key in a connected table.
Hi,
Anybody please tell me the tutorial way to connect and retrieve data using foreign key in a connected table.
I think I may have already answered this in my reply to your other question, have a look at the Rails Guide on ActiveRecord Relationships. But probably start with Getting Started guide.
Colin
Dear Collin,
I feel that I am not clearly explained you, here I included the clear explanation about the problem. I included models, controller and View. Please, find the mistake in it and tell me.
name model has_many :city, :foreign_key => “name_id” has_many :country, :foreign_key => “name_id”
city model belongs_to :name
country model belongs_to :name
In Name Controller @names = Name.find(:all, :conditions=>{:first_name => params[:gm], :second_name => params[:sp]}, :include => [ :city, :country ])
In Name View
<% @names.each do |name| %>
<%= name.age %> <% end %>
<% @names.cities.each do |city| %>
<%= city.local_area %>
<% end %>
<% @names.countries.each do |country| %>
<%= country.state %>
<% end %>
PalaniKannan K wrote:
*name model* has_many :city, :foreign_key => "name_id" has_many :country, :foreign_key => "name_id" *
has_many models should be pluralized
class name < ActiveRecord::Base has_many :cities has_many :countries end
Dear Ar Chron,
Thanks for your correction. The error solved, but its not still showing the values for
<%= city.local_area %> <%= country.state %>
Hi,
I tried with
In View
<% @names.each do |name| %>
<%= name.age %>
<% name.cities.each do |city| %>
<%= city.local_area %>
<% name.countries.each do |country| %>
<%= country.state %>
<% end %>
This shows no error with no output of city.local_area and country.state
Why are you asking the same question in multiple threads?
Colin
Hi,
Extreme sorry for all and Colin, I posted in several thread… I will not post repeated posts once again.
You are probably getting an "undefined method 'cities' for #<Array:blah
" error. Address each hierarchy level in turn...
<% @names.each do |name| %> <% name.cities.each do |city| %> <%= city.local_area %> <% end %> <% end %>
<% @names.each do |name| %> <% name.countries.each do |country| %> <%= country.state %> <% end %> <% end %>
Dear All,
Finally, tables are connecting and displaying data once i provided “set_primary_key”. I read about role of “foreign key” in connecting table. But, I dont know the role of “primary_key” in connecting tables. Anybody knows it???