Ошибка ассоциации не найдена после обновления до Rails 6 - PullRequest
0 голосов
/ 15 марта 2020

После обновления моего приложения до 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 не возникла ошибка.

...