Please excuse me if I am asking too many questions. I’ve been
appreciating the help (and I have been learning from reading other
peoples questions and answers too)
Here is a cooked up example of a basic idea I am trying to accomplish
Say that I have a Pupil model . Perhaps also a Teacher, Course models.
Teachers will have things called Course_Offerings. To keep track of a
pupilâ€™s performance in a course there will be a separate model called
Course_performances. These course_performances will belong to both
Pupils and to Course_offerings. In addition to foreign keys, Iâ€™d like
the course_performance records to have their own copy of the Pupils
“full_name” for easy access in views.
Given a list of Pupils, is the code below an efficient way of creating a
course_performance instance and associating it with (and assuring that
it gets foreign keys from) two separate models it belongs to?
Do I need to save the new course_performances at all or will they get
saved as I associate them to parent classes?
Will the “transaction” work the way I have it or should I chose the name
of the whole database to apply the transaction to? (I wasn’t clear on
what the book meant me to use)
@pupils_to_add = Pupil.find(:all, :conditions => [â€œsome_condition =
“something” ] )
@pupils_to_add.each do |current_pupil| holder = Course_performance.new(:name => current_pupil.full_name
Pupil.transaction do current_pupil.course_performances << holder @course_offering.course_performances << holder end end
Thanks in advance for any tips.