Hi,
I''m still stuck with a fundamental problem understanding how this hangs
together. Given two tables with a HABTM relationship through a 
join_table as follows;
Model job:
class Job < ActiveRecord::Base
   belongs_to :JobTypes
   has_many :People
   has_and_belongs_to_many :addresses, :join_table =>
"Jobs_Addresses"
   has_many :Reminders
   has_many :JobPhases
   has_many :Discussions
	has_many :actions
	has_one :jobtype
	has_many :documents
	has_one :organisation
	has_many :reminders
	has_many :discussions
	validates_associated :address
end
Model address:
class Address < ActiveRecord::Base
	has_and_belongs_to_many :jobs, :join_table => "Jobs_Addresses"
	has_one :Address_type
	has_one :organisation
end
Model job_address
class JobAddress < ActiveRecord::Base
	has_and_belongs_to_many :jobs
	has_and_belongs_to_many :addresses
end
OK, heres my problem =>
In console I get to a job.
I can read its data, methods and attributes and I can return the address 
data as follows;
 >> @job.addresses
=> [#<Address:0x37dd170 @attributes={"Organisation_ID"=>nil, 
"Address_2"=>nil, "Job_ID"=>"4",
"Country"=>"Australia", "id"=>"2",
"Suburb"=>"Mitcham", "OrgType_ID"=>nil,
"State"=>"Vic",
"Address_1"=>"456, second st",
"Address_ID"=>"2"}>]
What I can''t figure is how to get at that attribute data to put into a 
simple job list mixing the address in with the other job attributes!
Can somebody please explain before I go nuts!!
Kind Regards,
Eric.
On 12/2/05, Eric Sloane <esloane-9MXrTL7Q3obvnOemgxGiVw@public.gmane.org> wrote:> has_and_belongs_to_many :addresses, :join_table => "Jobs_Addresses"If you rename your join table alphabetically (ie addresses_jobs) then you won''t have to specify :join_table because the Rails convention will find it automatically.>> @job.addresses > => [#<Address:0x37dd170 @attributes={"Organisation_ID"=>nil, > "Address_2"=>nil, "Job_ID"=>"4", "Country"=>"Australia", "id"=>"2", > "Suburb"=>"Mitcham", "OrgType_ID"=>nil, "State"=>"Vic", > "Address_1"=>"456, second st", "Address_ID"=>"2"}>] > > What I can''t figure is how to get at that attribute data to put into a > simple job list mixing the address in with the other job attributes!Since a job may have more than one address, maybe you want to do this <% @job.addresses.each do |address| %> <%= address.Suburb %>, <%= address.Country %> <% end %> Also, I think that Rails people do not usually capitalize db table and field names. If you are using a legacy db then this comment and the one about the join table name are probably just annoying:) Hope that helps. Peter _______________________________________________ Rails mailing list Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org http://lists.rubyonrails.org/mailman/listinfo/rails
Peter Michaux wrote:> > > On 12/2/05, *Eric Sloane* > <esloane-9MXrTL7Q3obvnOemgxGiVw@public.gmane.org > <mailto:esloane-9MXrTL7Q3obvnOemgxGiVw@public.gmane.org>> wrote: > > has_and_belongs_to_many :addresses, :join_table => "Jobs_Addresses" > > > If you rename your join table alphabetically (ie addresses_jobs) then > you won''t have to specify :join_table because the Rails convention will > find it automatically. > > > > > >> @job.addresses > => [#<Address:0x37dd170 @attributes={"Organisation_ID"=>nil, > "Address_2"=>nil, "Job_ID"=>"4", "Country"=>"Australia", "id"=>"2", > "Suburb"=>"Mitcham", "OrgType_ID"=>nil, "State"=>"Vic", > "Address_1"=>"456, second st", "Address_ID"=>"2"}>] > > What I can''t figure is how to get at that attribute data to put into a > simple job list mixing the address in with the other job attributes! > > > Since a job may have more than one address, maybe you want to do this > > <% @job.addresses.each do |address| %> > <%= address.Suburb %>, <%= address.Country %> > <% end %> > > Also, I think that Rails people do not usually capitalize db table and > field names. If you are using a legacy db then this comment and the one > about the join table name are probably just annoying:) > > Hope that helps. > > Peter > > > ------------------------------------------------------------------------ > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/railsThanks Peter, I knew it was something simple! The only annoying thing is the headache I have from trying to figure this out!! Thanks Again, Eric.