Table connection issue

Dear all,

I included models, controller and View. Please, find the mistake in it and tell me. I need to fetch the data of included tables “city and country” using the query of “first name and second name” of table ‘name’.

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 %>

Dear all,

I included models, controller and View. Please, find the mistake in it and tell me. I need to fetch the data of included tables "city and country" using the query of "first name and second name" of table 'name'.

You could start by stating what the problem is rather than leaving people to guess.

Fred

Dear all,

I included models, controller and View. Please, find the mistake in it and tell me. I need to fetch the data of included tables "city and country" using the query of "first name and second name" of table 'name'.

name model has_many :city, :foreign_key => "name_id" has_many :country, :foreign_key => "name_id"

That should be :cities and :countries. You don't need the foreign key spec, name_id is the default.

Colin

Dear Colin,

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.

Please don't top post it makes it difficult to follow the thread, thanks.

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.

Are you sure it is finding any cities and countries? Try displaying name.cities.count and the same for countries. Even better have a look at the Rails Guide on debugging and use ruby-debug to break in and examine the variables.

Colin