比方說,我想通過傳遞鍵以外的主鍵,如社會安全號碼來更新關聯:更新聯想比其他主鍵
Teacher.find(params[:id]).update({'student_ids'=>['123-45-6789','987-65-4321']})
我怎樣才能讓我的老師模型理解它將接收SSN,而不是數據庫ID? SSN唯一標識一名學生。
編輯:我喜歡Pavling的解決方案,因爲它保留了模型中的邏輯。然而,這失敗:
Teacher.new({name:'Miss Molly',student_ssns:['123-45-6789','987-65-4321']})
隨着ActiveRecord::UnknownAttributeError: unknown attribute: student_ssns
我喜歡這個解決方案,但此操作失敗: Teacher.new({名稱:'莫利小姐,student_ssns:[ '123-45-6789', '987-65-4321']}) 隨着ActiveRecord :: UnknownAttributeError:未知屬性:student_ssns – Dave 2014-10-10 16:13:45
我調整了方法名稱...對不起,它應該是一個'setter' – Pavling 2014-10-10 20:30:13