Michael Kahle
2008-Oct-23 08:14 UTC
has_many relationship able to be placed on one to others?
It''s time for me to go to bed... but perhaps I''ll wake up to a bit of good advice. I have 3 tables: registrations cars motorcycles I am trying to define the registration object in this way: has_many :cars has_many :motorcycles Then for the cars and motorcycles I''m saying belongs_to :registration Something is quite wrong here. How should I be relating these? I read this tutorial: http://railsguides.phusion.nl/activerecord/association_basics.html I keep referencing back to this, but I cannot find a relationship that fits. I''m sure I''m not understanding something properly about how relationships should work. I just can''t wrap my head around the "right way" to do things when setting up relationships. Frustrating. Good night all. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Thorsten Müller
2008-Oct-23 09:35 UTC
Re: has_many relationship able to be placed on one to others?
hmmm, you don''t give enough information. What''s the registration about? Is this for some kind of car rental service? The way you describe it, a car could only belong to a single registration. Another thing missing is the customer who makes the registration. If it''s like a car rental, then the registration should be polymorphic and either belong to a car or motorcycle. registration: belongs_to :registrateable, :polymorphic => true belongs_to :customer # it needs a registrateable_id column in which you store the car or motorcycle id # and a registrateable_type column in which Rails stores the class Can you say registrateable? I''m not native english, maybe there is a better word? registerable? Cars and motorcycles each get: has_many :registrations, :as => :registrateable This way you could get as many links between customers and cars as you want. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
gnunix
2008-Oct-23 20:34 UTC
Re: has_many relationship able to be placed on one to others?
> hmmm, you don''t give enough information. > What''s the registration about? > Is this for some kind of car rental service?I sure didn''t. 3:30am was late for me. :) It is a warranty registration where many different products need to be registered. Each product shares some of the same characteristics, date_registered, dealer_purchased_from, etc... those are kept in the registrations table. But each has it''s own unique qualities that we need to track. Perhaps a serial_number and model_number and power_pack_sn for one product. The other might have a serial_number and a blade_sn, for instance.> The way you describe it, a car could only belong to a single > registration. > Another thing missing is the customer who makes the registration. > > If it''s like a car rental, then the registration should be polymorphic > and either belong to a car or motorcycle. > > registration: > belongs_to :registrateable, :polymorphic => true > belongs_to :customer > # it needs a registrateable_id column in which you store the car or > motorcycle id > # and a registrateable_type column in which Rails stores the class > > Can you say registrateable? I''m not native english, maybe there is > a better word? registerable?Registerable is in fact a word. :)> > Cars and motorcycles each get: > has_many :registrations, :as => :registrateable > > This way you could get as many links between customers and cars as you > want.I don''t think this relationship would work. Because we are dealing with serialized inventory. So product A is really an assembly that consists of several different serialized parts and can only be registered once to 1 customer. Product B is also an assembly that consists of several different serialized parts that can only be registered to a single customer. The customer can have many different products all with unique registrations. Does that help? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Michael Kahle
2008-Oct-24 06:30 UTC
Re: has_many relationship able to be placed on one to others?
Michael Kahle wrote:> I don''t think this relationship would work. Because we are dealing > with serialized inventory. So product A is really an assembly that > consists of several different serialized parts and can only be > registered once to 1 customer. Product B is also an assembly that > consists of several different serialized parts that can only be > registered to a single customer. The customer can have many different > products all with unique registrations. Does that help?Shows what I know... nothing. I have been struggling with this for the past few hours (slow learner?), but upon further review I believe this is exactly what I need. I have built the relationships, but now I am trying to find examples on how I would setup the controller for each product to handle the registration. I''ll post again when I know more, but thanks for this. I believe it is precisely the direction I should be going. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Michael Kahle
2008-Oct-24 09:03 UTC
Re: has_many relationship able to be placed on one to others?
Bed time again. Strange how hyper-focused I can be at night. I''ve been working off of a post to get me going on understanding how to implement in Rails these polymorphic associations. http://railsforum.com/viewtopic.php?id=5882 I also found this: http://www.pathf.com/blogs/2008/07/drying-up-rails-controllers-polymorphic-and-super-controllers/ Looks promising, but at this level of abstraction I have trouble understanding. I''m afraid I''m trying to run before I can walk. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---