После обновления моего приложения до Rails 6 модель, которая имеет отношение многие ко многим, вызывает ошибку, говорящую, что Association named 'kulits_efloresensi_kulits' was not found on Kulit; perhaps you misspelled it?
На Rails 5 все работало нормально. Вот модели:
class Kulit < ApplicationRecord
has_and_belongs_to_many :efloresensi_kulits
belongs_to :physical_check, optional: true
class EfloresensiKulit < ApplicationRecord
has_and_belongs_to_many :kulits
Ошибка возникает в строке:
@physical_checks.reverse.each do |data|
Я обнаружил, что таблица соединения была названа 'efloresensi_kulits_kulits', поэтому я попытался чтобы определить его в модели
class Kulit < ApplicationRecord
has_and_belongs_to_many :efloresensi_kulits, join_table: "efloresensi_kulits_kulits"
class EfloresensiKulit < ApplicationRecord
has_and_belongs_to_many :kulits, join_table: "efloresensi_kulits_kulits"
Но ошибка все равно возникает. Как я могу исправить эту ошибку?
ИСПРАВЛЕНО
очевидно kulits_efloresensi_kulits
было упомянуто в коде, я изменил его на правильное имя, и оно было исправлено. Но мне все еще интересно, почему в Rails 5 не возникла ошибка.