Ruby on rails 升级到Rails 6后未找到关联错误
将我的应用程序升级到Rails 6后,具有多对多关系的模型会导致这样一个错误:Ruby on rails 升级到Rails 6后未找到关联错误,ruby-on-rails,has-and-belongs-to-many,ruby-on-rails-6,Ruby On Rails,Has And Belongs To Many,Ruby On Rails 6,将我的应用程序升级到Rails 6后,具有多对多关系的模型会导致这样一个错误: 在Kulit上未找到名为“kulits_efloresensi_kulits”的协会;也许你拼错了? 在Rails 5上,它运行良好。 以下是模型: class Kulit < ApplicationRecord has_and_belongs_to_many :efloresensi_kulits belongs_to :physical_check, optional: true clas
在Kulit上未找到名为“kulits_efloresensi_kulits”的协会;也许你拼错了?
在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
但错误仍然存在。
如何修复此错误
固定的
显然,代码中提到了kulits\u efloresensi\u kulits
,我把它改成了正确的名称,它被修复了。
但是我仍然想知道为什么它没有在Rails 5中引发错误。哪一行导致了错误?您的代码中是否有
kulits\u efloresensi\u kulits
?模型中还有其他行吗?请添加更多上下文:异常跟踪,为了重现错误,您做了什么。@Vasilisa我再次检查了我的代码,确实我的代码中有kulits\u efloresensi\u kulits
。我把它改成了efloresensi_kulits_kulits,然后就修好了。非常感谢你。但是我仍然想知道为什么它没有在Rails 5中引发错误。@AryabhimaA.Rahman很乐意提供帮助:)如果您添加相应的代码部分,其中包含kulits\u efloresensi\u kulits,我们可以尝试回答“为什么它没有在Rails 5中引发错误”
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"