Rather than posting my code and asking "what's wrong", here's a
simpler version:  The problem is my C's are not saving or updating the
foreign key for B when I create or update a C.  The foreign key value
remains nil.

A has many Bs
A has many Cs

B has many Cs
B belongs to A
     The B model contains an A_id foreign key field

C belongs to A
C belongs to B
     The C model contains both A_id and B_id foreign key fields


So a C can either belong directly to A (with B being null) or it can
belong to both an A and B.  This is not a C belongs to A through B
relationship - Cs can belong directly to an A.  Cs are created using
current_A.Bs.new, so they are already automatically scoped to the
correct A.

When creating or editing a C, a table of possible Bs is created and
displays correctly and I am able to select one of the possible choices
or leave it set to the default ('none selected' / nil value) choice.
This all worked fine before I layered on the A model.  I was able to
create Cs that were either free standing or belonged to a B.

Now, the terminal console shows the URL string contains: "B_id"=>"15",
so it appears that the select function is grabbing the correct id from
the table for the B choice that was selected.  However, when I then
debug the updated C record, the B_id value is always nil.

So, why isn't the B_id field getting updated in this situation?

Thanks in advance.






-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to