Re: [Rails] One model or many for a multistep form?
On Sat, Dec 22, 2012 at 1:56 PM, Mohamed Wael Khobalatte
<wael.khobalatte@gmail.com> wrote:
> 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?
(Bottom posting...)
> 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
>> ... 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.
On Sat, Dec 22, 2012 at 1:56 PM, Mohamed Wael Khobalatte
<wael.khobalatte@gmail.com> wrote:
> 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?
Not really understanding your application, and therefore your models,
I just made a guess. It could be possible that you want this to go the
other way, sure, depending on your needs and how you want to manage
things. If Tracks have many Applicants, and an Applicant belongs to a
Track, then yes, reverse the sense of the relationship.
--
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.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home