untuk menjawab pertanyaan saya sendiri:setelah beberapa penelitian saya menemukan bahwa Rails (activerecord) membutuhkan bidang id pada tabel yang dipetakan ke model. jika Anda menggunakan tabel tautan, itu tidak diperlukan - tetapi untuk tabel yang ingin Anda gunakan sebagai model, itu diperlukan. dalam kasus saya solusinya adalah menambahkan
set_primary_key :cal_id
di mana cal_id adalah kunci unik saya.