On Thu, Dec 20, 2012 at 5:49 AM, why-el <[email protected]> wrote:
> Anyway, so the giant form has personal information section, language
> information section (The biggest part, about a page and a half, this checks
> your current level of Arabic), and a track information section that presents
> you all tracks and their fees and schedules for you to choose from. I am
> putting each section into its own step so the form will navigate three
> steps.
>
> Now, my question is, wouldnt it make more sense to break these into
> different models? One "application" model will be too big. For some reason I
> can't reason about how to do this. What would the other models be? Does it
> make sense to have a "language information" model that belongs to some
> student's application?

Generally speaking, Models would correspond to how you would use the
information collected. You might wish to look at generalizing this
application a bit.

so, there might be an "Applicant" model, a "Language Fluency" model,
which might be composed of language "Questions", a "Fluency Test" and
"Answers" models, and then there seems to be a "Track" model.

Applicant might be:
 -- Name(s)
 -- Address
 -- phone
 -- email
 ... etc

 has_one: Track
 has_one: Fluency Test

Language Fluency might be:
  -- has_many: Questions

Questions might be:
  -- belongs_to Lanugage Fluency
  -- question text

Fluency Test might be:
  -- belongs_to: Applicant
  -- has_many: Answers
  -- date completed
  -- ...

Answers might be:
  -- belongs_to: Fluency Test
  -- answer text
  -- score /* ? */

Track might be:
  -- title
  -- fee
  -- schedule /* (?) (not sure what you meant by schedule) */

anyway, that's the sort of way I'd approach it.

-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to