Karena Anda mengatakan, SQL yang dihasilkan berfungsi ketika Anda secara langsung memanggilnya, akar masalahnya terletak di suatu tempat dalam proses pemetaan data yang dikembalikan kembali ke Objects. Meskipun pengaturan Anda terlihat baik-baik saja, tampaknya cukup non standar, jadi saya akan mencoba memberikan Rails lebih banyak petunjuk tentang bagaimana asosiasi saling terkait.
Untuk memulainya, Anda harus menetapkan source
untuk through
relasi (docs) :
has_many :inventories, through: :content_accesses, source: :inventory
Jika itu masih tidak memberi Rails petunjuk yang benar, Anda dapat mencoba mengatur inverse_of
, foreign_key
, primary_key
dan bahkan class_name
di sisi lain belongs_to
dan has_many
asosiasi, untuk memberikan Rails petunjuk yang diperlukan. Sulit untuk mengatakan apa yang mungkin bisa membantu, tetapi dalam pengaturan non-standar terkadang Anda mengalami masalah tertentu dengan nama yang disimpulkan secara otomatis.