how to get id of other table

Hi All,           I have a doubt regarding join tables I'm having 2 models 1)Fac 2)Cont

and both models have " has and belong to many" relationships so there are 3 tables 1)facs 2)conts 3)conts_facs

then i'm fetching the data in controller as @conts=Cont.find(:all]) @cfacs=Fac.all(:joins=>:conts, :select=>"facs.name")

but i dont know how to get the cont_id in the join table from @cfacs example:

                          for nd in @cfacs                                puts nd.cont_id                           end

show me an error as "no method cont.id in Fac"

Please help me regarding this

Right. You told Rails only to select facs.name. It's not clear from your post why you are using a :joins in a habtm association, as that should be implied, however something like this should work:

@conts = Cont.all # assumes relatively recent Rails. If older, use Cont.find(:all) @conts.facs.each do |fac|    puts fac[:id] end

thankyou S.Ross

the problem is I have to get cont.id associated with each fac (foreign key)and in the @cfacs=Fac.all(:joins=>:conts, :select=>“facs.name”) i’ll rewrite it as @cfacs=Fac.all(:joins=>:conts, :select=>“facs.,facs_conts.,conts.*”)

Don't do @cfacs=Fac.all (:joins=>:conts, :select=>"facs.*,facs_conts.*,conts.*")

If you need only the conts.id along with any other data that you need, do

@cfacs = Fac.all(:include => :conts, :select=> "conts.id, facs.*")

You don't need to specify the join as the relationship takes care of it.

thankyou Mukund i got it and it works