để trả lời câu hỏi của riêng tôi:sau một số nghiên cứu, tôi phát hiện ra rằng rails (activerecord) cần các trường id trên các bảng được ánh xạ tới các mô hình. nếu bạn sử dụng các bảng liên kết thì chúng không cần thiết - nhưng đối với các bảng bạn muốn địa chỉ làm mô hình, chúng là như vậy. trong trường hợp của tôi, giải pháp là thêm
set_primary_key :cal_id
trong đó cal_id là khóa duy nhất của tôi.