Hi Matt, Thanks Yes, hard coded, this is a one time, time-specific app that won't be used again.
so if i just have three fields first_choice second_choice third_choice what do I have to do to make sure rails and hobo knows they are foreign keys? I only know how to specify foreign keys via has_many etc Thanks Alex On Thu, Mar 25, 2010 at 4:40 PM, Matt Jones <[email protected]> wrote: > > On Mar 25, 2010, at 3:57 PM, Alex Bowyer wrote: > > I have a fairly simple scenario: >> >> Voters (name + email address) vote on Choices (name, details, URL) >> I want voters to be able to pick one "first choice", one "second >> choice" and one "third choice" - their vote consists of these exactly >> 3 selections. >> >> So the two questions to answer are >> 1) what's the best way to model this >> 2) how to create a form where the user can select these three choices >> >> 1) Model >> >> Based on what I've learnt so far, i'm thinking a link table would work >> - voter_choices... >> ie. >> Voter has_many Choices :through voter_choices >> Choices has_many Voters :through voter_choices >> then fix it to be just 3 votes with validation >> I was thinking then add a "rank" field to the link table and use >> validation to ensure there is only ever one entry per user for each >> rank (1,2,3) >> >> Is this the best way to model it or is there a better way? >> >> > It's very dependent on the application: is the number of choices > hard-coded? In other words, will the client come along next week and say, > "Could you have them pick a *fourth* choice?" > > If first/second/third (think Olympic medals: they aren't going to add a > "copper" medal, one presumes) aren't going to change, it might be sufficient > to just put the 3 FKs in a record. The solution you've described is more > flexible, but *much* more complicated. > > --Matt Jones > > > -- > You received this message because you are subscribed to the Google Groups > "Hobo Users" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<hobousers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/hobousers?hl=en. > > -- ============================================ Alex Bowyer Email: [email protected] Skype/ooVoo: alexbowyer Personal blog: http://alexbowyer.blogspot.com/ Professional blog: http://www.bitcurrent.com/ "The web is not a destination. It is an interface between people." ============================================ -- You received this message because you are subscribed to the Google Groups "Hobo Users" 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/hobousers?hl=en.
