0

我努力让这些关系发挥作用。我有以下类 FlowContainer

class FlowContainer
  include Mongoid::Document
  has_one :production_flow, class_name: Flow
  has_one :test_flow, class_name: Flow
  has_one :design_flow, class_name: Flow
end

正如你所看到的,我希望它有 3 个特定的流程。我在 Flow 中设置了这样的关系:

class Flow
  include Mongoid::Document
  belongs_to :flow_container
end

我不认为这有什么特别之处,在我看来应该可以工作,但是当我尝试将流分配给上述特定流之一时,我收到以下错误消息:

NoMethodError:Flow:Class 的未定义方法“sub”

我也可以为通用流程和 3 个子类进行继承设置,但目前我不赞成该解决方案,因为我觉得这应该可行。如果有人可以就此事分享他的意见,我将不胜感激。

4

1 回答 1

3

class_name必须作为一个传递string,试试这个:

has_one :test_flow, class_name: "Flow"
于 2013-03-14T10:52:21.753 回答