YES! Thanks so much, Matt. I guess you could say that's exactly what the doctor ordered!
See what I did there? Doctor, physician... Nevermind. I'll shut up and get back to coding. :) On Aug 24, 4:51 pm, Matt Jones <[email protected]> wrote: > On Aug 24, 2011, at 4:15 PM, Banjoey wrote: > > > > > > > > > > > We currently use excel to store data that is used by scripts to run > > automated tests for our software. Our project scope is expanding, and > > the excel sheets are no longer adequate to meet our needs (multiple > > people needing to enter test data) so I threw together a simple proof > > of concept and my boss really liked it. In fact, I'm now working on > > setting this thing up to go live as soon as I can get it into a semi- > > working state. > > > My current issue is that I have a "patient" model that needs to have > > certain data associated with it. I need a specific number of fields > > for say "Physicians" (I need exactly 5 physicians), in each patient > > record. I know I can do a has_many relationship, but that's not really > > adequate because each of the "physicians" have to be a specific "type" > > of physician. However, all these physicians (though assigned different > > types) will come from the same pool of names. In fact, it is possible > > that the testers may want one physician to serve as all "types". > > It sounds like you're looking for a simple belongs_to relation for each of > them. For concreteness, here's a version with 4 doctor positions: > > class Patient < ActiveRecord::Base > > fields do > name :string > timestamps > end > > belongs_to :head_doctor, :class_name => 'Doctor' > belongs_to :shoulder_doctor, :class_name => 'Doctor' > belongs_to :knee_doctor, :class_name => 'Doctor' > belongs_to :toe_doctor, :class_name => 'Doctor' > > end > > You'll wind up with head_doctor_id, etc fields in the schema. The default > Hobo behavior for these associations will be to generate a select-one for > each, which should be really close to what you're looking for. > > Things get more complicated if you need to deal with uniqueness, but it > sounds like that is explicitly *not* required here. > > An alternative, more flexible, way would be to define a join model between > Patient and Doctor and include the "role" as an attribute. However, based on > your description, it sounds like the five roles are pretty central to the > process you're describing and therefore unlikely to change without major > real-world rearchitecturing. Because of that, the join table method seems > like overkill. > > --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]. For more options, visit this group at http://groups.google.com/group/hobousers?hl=en.
