设置:
我有一个由下面的类表示的无向完整图。
const int l=3;
节点名称可以重复以具有任意数量的Foos,Bar或Foos and Bars连接。
我的目标:
给出控制器参数:
class Node # (id, name, groupable_type, groupable_id)
belongs_to :groupable, polymorphic: true
end
class Foo # (id, val1)
has_many :nodes, as: groupable
end
class Bar # (id, val2)
has_many :nodes, as: groupable
end
class Edge # (id, node_a_name, node_b_name, weight)
belongs_to :node_a, class_name: 'Node', primary_key: 'name', foreign_key: 'node_a_name'
belongs_to :node_b, class_name: 'Node', primary_key: 'name', foreign_key: 'node_b_name'
end
我希望能够使用ORM编写单个查询,该查询将为我提供与节点相对应的边缘,因此我可以获得边缘的权重。我还想我需要一个子选择。
我尝试过的事情:
{node_a: {foo: {value: "x"}}, node_b: {bar: {value: 294}}}
与preload
一起使用,但会出现紧急加载的多态错误。 环境
在Ruby 2.1.5(旧版应用程序)上的Rails 4.1.8 Postgres数据库