charlie caroff
2007-Sep-12 19:23 UTC
how to join on a field other than parent table''s id?
Hi, I am putting xml into a database. I have one table, products, that has_many product_features. I would like to use the product table''s id in the product_features table, and join on that, but the problem is that the product table''s id does not exist until the product is in the database. I would prefer to join on a different field -- a string I make up randomly, and keep track of. How do I do that within my product and product_feature models? I can''t find anything in the documentation that says anything about how to join on anything other than the parent table''s id. I do see the :source method, but this appears to allow you to make an alias for a table name, but still forces you to use the parent table''s id. Help appreciated. Charlie --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
when I first started using rails active_records I struggled because I had previously used a java O/R mapping tool that used a guid generator to build primary keys as soon as you instantiated a model object. This really simplifies dealing with foreign key relationships in complex models. But I think you can get used to living with the way rails deals with this. I use foreign key constraints in the database, which it seems many rails developers do not (?). I did some testing early on to figure out how rails works and these are the notes I kept on this: -add child to parent and save the parent => saves both -add child to parent and save the child => error, null value in fk -set childs parent and save child => saves both -set childs parent and save parent => only saves parent these seem like fairly reasonable rules to live by and I''ve gotten used to it. Are you having problems along these lines? Do you use fk constraints? I would really recommend not trying to add a different key value if possible. I suspect there are other ways to solve your problem. (warning: i''m no rails guru!) --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---