2013-03-14 3 views
0

Я изо всех сил пытаюсь заставить эти отношения работать. У меня есть следующий класс FlowContainerMongoid multiple has_one отношения

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 конкретных потоков. И настройки я отношения в потоке, как это:

class Flow 
    include Mongoid::Document 
    belongs_to :flow_container 
end 

Я не думаю, что это что-то особенное и должно работать, на мой взгляд, но когда я пытаюсь назначить поток одному из конкретных потоков, упомянутых выше I получает сообщение об ошибке:

NoMethodError: undefined method `sub' for Flow:Class

Я мог бы также пойти для настройки наследования для общего потока и 3 к югу от класса, но на данный момент я не в пользу для этого решения, потому что я чувствую, что это должно работать. Если кто-то может поделиться своим мнением по этому вопросу, я был бы признателен.

+0

вы можете разместить свой код контроллера \ –

+0

установить в 'inverse_of' отношения – apneadiving

+0

Если не имя класса быть строкой? «Поток» вместо постоянного потока? – fmendez

ответ

3

class_name должны быть пройти как string, попробуйте следующее:

has_one :test_flow, class_name: "Flow"