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.

Reply via email to