Ruby on Rails Saturday, December 22, 2012

Hey! 

That's actually a great answer, and thats I what I generally started doing. I looked at all the info I have and asked myself: "Which of these sets of information would an admin want to manage?". From there for instance I thought about making a track model so that admins can easily add/delete as many tracks as they want, and so on.

I did however put applicant as belonging to a track and not has one. This has always confused me. Any idea why you want with a has_one relationship there?  

On Sat, Dec 22, 2012 at 1:52 PM, tamouse mailing lists <tamouse.lists@gmail.com> wrote:
On Thu, Dec 20, 2012 at 5:49 AM, why-el <wael.khobalatte@gmail.com> 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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.



--
Mohamed Wael Khobalatte

--
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@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment