在Rails Console上有效的方法在环境中不起作用

时间:2019-03-29 07:26:33

标签: ruby-on-rails ruby-on-rails-5.2 sti

我正在Rails项目中与STI合作。我有一个模型,例如Person,它有很多(例如)Child。然后,我要在Person模型上使用STI,例如

class Person < AR::Base
  has_many :children
end

class Child
  belongs_to :person
end

class Employee < Person
 ...
end

类似Employee.first.children的东西在控制台上起作用,但在rails项目本身上却不起作用(例如在控制器或视图中)。

这是正确的方法吗?还是有另一种方法?

按要求进行编辑
因此,在我的控制器/视图中,我会遇到类似的东西

@employee = Employee.unscoped.find(params[:id])
@children = @employee.children

,但它返回ActiveRecord::AssociationNotFoundError: Association named children was not found on Employee. Perarphs you misspelled it? [...]。但是,正如我之前说过的,如果我在控制台中运行所有这些程序,那么它将起作用

0 个答案:

没有答案