Thanks Matt - This looks perfect. As you may have gathered, I'm learning Rails at the same time as I learn Hobo and sometimes the biggest challenge is knowing which approach to use, rather than figuring out syntax!
Thank you Alex On Thu, Mar 25, 2010 at 4:54 PM, Matt Jones <[email protected]> wrote: > > On Mar 25, 2010, at 4:43 PM, Alex Bowyer wrote: > > 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 >> >> > A straightforward way to set this up: > > Voter has_one :vote > > class Vote < ActiveRecord::Base > hobo_model > > fields do > timestamps > end > > belongs_to :voter > belongs_to :first_choice, :class_name => 'Choice' > belongs_to :second_choice, :class_name => 'Choice' > belongs_to :third_choice, :class_name => 'Choice' > end > > class Choice > hobo_model > > fields do > name :string > end > > has_many :first_votes, :class_name => 'Vote', :foreign_key => > 'first_choice_id' > has_many :second_votes, :class_name => 'Vote', :foreign_key => > 'second_choice_id' > has_many :third_votes, :class_name => 'Vote', :foreign_key => > 'third_choice_id' > > end > > --------- > > I split the Vote model off only because it's cleaner, and accommodates the > inevitable, "can we do another vote" requests. You can also drop an > auto_actions_for :user, [:new, :create] onto the VotesController and get > pretty URLs like: > > /users/1234/votes/new > > With this setup, you *should* get a decent automatic create page with > select-one dropdowns for first/second/third choices. > > Hope this helps! > > > --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.
