У меня есть два типа отношений между двумя классами. В одном из них мне нужно установить origin
, но я не знаю, как это сделать. Любая идея?Проблема с происхождением отношений
class A
include Neo4j::ActiveNode
...
has_many :out, :method1, model_class: B
has_many :out, :method2, model_class: B
...
end
class B
include Neo4j::ActiveNode
...
has_one :in, :something, model_class: A, origin: ?????
...
end
График
Тип отношений по умолчанию один ("#" + имя метода).
Я отредактирую вопрос, но это не так. – tehAnswer
Это ответ. Опция 'origin' заставляет ассоциацию искать другую ассоциацию с тем же именем в соответствующей модели. Вы должны использовать 'has_one: in,: something, model_class: A, origin:: method1', а затем' B.first.something' будет использовать '# method1' в качестве своего типа отношения. – subvertallchris
Дело в том, что вы ставите 'origin:: method1', каждый B с входящим отношением' # method2' возвращает 'nil'. Ты меня чувствуешь? – tehAnswer