Hi This is probably quite a simple problem for someone (but not for me!), what is the best way to solve the following? I have 3 tables: users, friends and names. The table formats are (I have cut out the irrelevant parts to simplify): Friends: :id :integer :user_id, :integer :friend_identity, :integer (friend_identity is a pseudo for the user_id of the friend) Users: :id :integer Names: :user_id, :integer :firstname, :string :lastname, :string I have the following relations (again only the relevant parts): class Friend < ActiveRecord::Base belongs_to :user end class User < ActiveRecord::Base has_many :friends has_many :names end class Name < ActiveRecord::Base belongs_to :user end What I would like to do is for all records corresponding to a specific user_id in the friends table, generate a dropdown menu in the view with the firstname and the lastname of the user "friend_identity" and have the value equal to their user_id. I am guessing that this can be done somehow by relating the name and friend tables in RoR (maybe with a foreign_key??). Is there a simple way to do this, Unfortunately, I always end up with a mess of code when I try? Any help would be really appreciated. -- 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 -~----------~----~----~----~------~----~------~--~---
Why are names and user_id in different tables? Surely it makes more sense to have those all in a Users table as they all relate to one user? On 4/13/07, Darren Evans <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > > Hi > > This is probably quite a simple problem for someone (but not for me!), > what is the best way to solve the following? > > I have 3 tables: users, friends and names. The table formats are (I have > cut out the irrelevant parts to simplify): > > Friends: > :id :integer > :user_id, :integer > :friend_identity, :integer > > (friend_identity is a pseudo for the user_id of the friend) > > Users: > :id :integer > > Names: > :user_id, :integer > :firstname, :string > :lastname, :string > > I have the following relations (again only the relevant parts): > > class Friend < ActiveRecord::Base > belongs_to :user > end > > class User < ActiveRecord::Base > has_many :friends > has_many :names > end > > class Name < ActiveRecord::Base > belongs_to :user > end > > What I would like to do is for all records corresponding to a specific > user_id in the friends table, generate a dropdown menu in the view with > the firstname and the lastname of the user "friend_identity" and have > the value equal to their user_id. > > I am guessing that this can be done somehow by relating the name and > friend tables in RoR (maybe with a foreign_key??). Is there a simple way > to do this, Unfortunately, I always end up with a mess of code when I > try? > > Any help would be really appreciated. > > -- > Posted via http://www.ruby-forum.com/. > > > >-- http://www.web-buddha.co.uk --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Dave, Thanks a lot for your reply. It is an extremely good point that you have made! My original reason for this structure was that users change their names over time (the names table also had date fields) & this site covers historical records of users. However, what I will do is as you suggest, but add a "formally_known_as" field where users can add all of their former names seperated by a comma. Then my search facility will be able to find them. Because I am still a beginner with RoR, it would be really useful to know in principle (very very briefly - without getting into any coding) what the solution to my former question would have been. Many thanks Darren Dave Goodchild wrote:> Why are names and user_id in different tables? Surely it makes more > sense to > have those all in a Users table as they all relate to one user? > > On 4/13/07, Darren Evans <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote: >> Friends: >> :user_id, :integer >> has_many :friends >> the value equal to their user_id. >> >> > >> > > > -- > http://www.web-buddha.co.uk-- 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 -~----------~----~----~----~------~----~------~--~---
Sounds like a lot of work to me - how often do users change their first and last names? A simple update would suffice methinks! On 4/13/07, Darren Evans <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > > Dave, > > Thanks a lot for your reply. It is an extremely good point that you have > made! > > My original reason for this structure was that users change their names > over time (the names table also had date fields) & this site covers > historical records of users. However, what I will do is as you suggest, > but add a "formally_known_as" field where users can add all of their > former names seperated by a comma. Then my search facility will be able > to find them. > > Because I am still a beginner with RoR, it would be really useful to > know in principle (very very briefly - without getting into any coding) > what the solution to my former question would have been. > > Many thanks > > Darren > > > > > Dave Goodchild wrote: > > Why are names and user_id in different tables? Surely it makes more > > sense to > > have those all in a Users table as they all relate to one user? > > > > On 4/13/07, Darren Evans <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote: > >> Friends: > >> :user_id, :integer > >> has_many :friends > >> the value equal to their user_id. > >> > >> > > >> > > > > > > -- > > http://www.web-buddha.co.uk > > > -- > Posted via http://www.ruby-forum.com/. > > > >-- http://www.web-buddha.co.uk --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
I''ll take the easy route as you suggest... Women clearly change their surnames quite often - marriage, divorce (sometimes reverting back to maiden names), marriage again sometimes & men sometimes too here in Switzerland when they get married! When finding someone from historical records, changes in names through time are very important, but an extra field with muliple entries (I will lose the time frame of name changes) and a decent search facility should suffice for my needs. Many thanks again for your help. Darren Dave Goodchild wrote:> Sounds like a lot of work to me - how often do users change their first > and > last names? A simple update would suffice methinks! > > On 4/13/07, Darren Evans <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote: >> but add a "formally_known_as" field where users can add all of their >> >> >> :user_id, :integer >> >> -- >> Posted via http://www.ruby-forum.com/. >> >> > >> > > > -- > http://www.web-buddha.co.uk-- 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 -~----------~----~----~----~------~----~------~--~---