Ruby on rails 通过关联错误的模糊源反射?(轨道)

Ruby on rails 通过关联错误的模糊源反射?(轨道),ruby-on-rails,Ruby On Rails,所以我在运行我的水豚自动化测试时得到了这个结论,我对rails不是非常熟悉……但是基于这个错误,我假设它与“模型”有关 以下是错误(更改了一些名称): 这到底意味着什么,我注意到在错误中它显示了一个:source=>“bar”,它目前在模型中不存在。所以它的意思是,它不从哪里来:东西从哪里来?Rails对我来说非常陌生,所以我不明白它到底在说什么?不幸的是,谷歌似乎没有发现这个错误。这个错误告诉你Stuff和Thing之间的关系是不明确的,因为你没有定义Stuff和Foo之间的关系。这通常如下所

所以我在运行我的水豚自动化测试时得到了这个结论,我对rails不是非常熟悉……但是基于这个错误,我假设它与“模型”有关

以下是错误(更改了一些名称):


这到底意味着什么,我注意到在错误中它显示了一个:source=>“bar”,它目前在模型中不存在。所以它的意思是,它不从哪里来:东西从哪里来?Rails对我来说非常陌生,所以我不明白它到底在说什么?不幸的是,谷歌似乎没有发现这个错误。

这个错误告诉你
Stuff
Thing
之间的关系是不明确的,因为你没有定义
Stuff
Foo
之间的关系。这通常如下所示:

class Student
  has_many :scheduled_classes
  has_many :teachers, through: :scheduled_classes
end

class ScheduledClass
  belongs_to :student
  belongs_to :teacher
end

class Teacher
  has_many :scheduled_classes
  has_many :students, through: :scheduled_classes
end

请注意,
值是根据同一类上的关系命名的。

此错误告诉您
填充物
事物
之间的关系不明确,因为您尚未定义
填充物
Foo
之间的关系。这通常如下所示:

class Student
  has_many :scheduled_classes
  has_many :teachers, through: :scheduled_classes
end

class ScheduledClass
  belongs_to :student
  belongs_to :teacher
end

class Teacher
  has_many :scheduled_classes
  has_many :students, through: :scheduled_classes
end

请注意,
值是根据同一类上的关系命名的。

我注意到,在我的模型文件中,我缺少“:source=:”条“这与此无关吗?因为这就是错误所说的。@msmith1114
源代码通常是隐式的,所以只有在存在实际歧义的情况下才需要它。看起来,在你的例子中,你只是还没有定义基本关系。也许我不理解你所说的“定义的基本关系”是什么意思。实际上,它下面定义了一个has_many:foo。在类Stuff文件中。@msmith1114您可能需要重新排列这些关系。这是Ruby代码,在运行时线性执行。Rails自动加载可能会阻止该问题在开发环境下出现。我注意到在我的模型文件中,我缺少“:source=:”条“这与此无关吗?因为这就是错误所说的。@msmith1114
源代码通常是隐式的,所以只有在存在实际歧义的情况下才需要它。看起来,在你的例子中,你只是还没有定义基本关系。也许我不理解你所说的“定义的基本关系”是什么意思。实际上,它下面定义了一个has_many:foo。在类Stuff文件中。@msmith1114您可能需要重新排列这些关系。这是Ruby代码,在运行时线性执行。Rails自动加载可能会阻止该问题在开发环境下出现。
class Student
  has_many :scheduled_classes
  has_many :teachers, through: :scheduled_classes
end

class ScheduledClass
  belongs_to :student
  belongs_to :teacher
end

class Teacher
  has_many :scheduled_classes
  has_many :students, through: :scheduled_classes
end