Tag: 多态关联

rails多态关联(遗留数据库)

我正在使用遗留数据库,因此我无法控制数据模型。 他们使用了很多多态链接/连接表,就像这样 create table person(per_ident, name, …) create table person_links(per_ident, obj_name, obj_r_ident) create table report(rep_ident, name, …) 其中obj_name是表名, obj_r_ident是标识符。 所以链接的报告将插入如下: insert into person(1, …) insert into report(1, …) insert into report(2, …) insert into person_links(1, ‘REPORT’, 1) insert into person_links(1, ‘REPORT’, 2) 然后,人1将有2个链接的报告,1和2。 我可以理解像这样的数据模型可能带来的好处,但我主要看到一个很大的缺点:使用约束不可能确保数据完整性。 但是,我不能再改变它了。 但是要在Rails中使用它,我正在寻找多态关联,但没有找到一个很好的方法来解决这个问题(因为我无法更改列名,并且没有找到办法做到这一点)。 我确实提出了一个解决方案。 请提供建议。 class Person “person_links”, :foreign_key => “per_ident”, :association_foreign_key […]

使用具有嵌套关联的多态路径

我有一个多态关联,看起来像这样: class Line true end class Education :item end class Work :item end 我想要一种从父项创建新行的简单方法。 因此,我可能正在编辑Work对象的视图,并希望有一个创建新Line对象的链接。 通常,我会这样做: 帮助者将为此工作。 但是,这需要我在控制器中检查Line属于哪个父级,从而破坏了多态的目的(如果是这种情况,我可以使用两个引用)。 所以,我的问题是,我如何像普通的路径助手那样以多态方式工作?