Jesse wrote in post #968656: > On 12/15/10 1:27 PM, Finne Jager wrote: >> >> And both FireFighter and SafetyOfficer belongs_to :timesheet >> The models both have timesheet_id fields as well. >> > Theres the difference. > > Incident.first.timesheet.fire_fighters is an array of firefighter > objects and thus you can append a new member to it. > > Incident.first.timesheet.safety_officer is a direct possession of a > safety_officer object, so you are not appending a safety_officer to it, > but rather adding its ID to a safety_officer_id column. > > So > array << new_array_member would not work in this case. > > If there i to be only 1 safety_officer or a timesheet then the way you > would want to create the association is to have a form for the timesheet > in question that has the value of the safety_officer_id attribute set to > the id of the safety_officer you want to associate to the time sheet. > Submit and let rails do the work. It should glean that you are trying to > update just the 1 attribute for that timesheet and trigger an update > action on it.
I understand what I'm doing wrong. I don't have to append the SafetyOfficer at all, I just need to SET it because there can be only one SafetyOfficer. Incident.first.timesheet.safety_officer = SafetyOfficer.last -- Posted via http://www.ruby-forum.com/. -- 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-t...@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.