för att svara på min egen fråga:efter lite forskning fick jag reda på att rails (activerecord) behöver id-fält på tabeller som är mappade till modeller. om du använder länktabeller behövs de inte - men för tabeller du vill adressera som modeller så är de det. i mitt fall var lösningen att lägga till
set_primary_key :cal_id
där cal_id är min unika nyckel.