我们在Rails 4中有一个应用程序(但很快就会成为Rails 5),它有一个我们从Django应用程序继承的多态日志类。
在传统的多态关系中,对象将具有source_type和source_id,其类似于'some_class'
和123
。
在我们的小模型中,我们有content_type
和content_id
,但遗憾的是它映射到两个整数,content_type
中的int进一步指向ContentType
模型 - 进一步复杂化 - 不要映射到Rails-ey类型('some_type'
,而是django-ey 'some type class'
。
这是一团糟。
有没有办法覆盖查找多态关联时使用的值(例如,不是使用'some_class'
,而是使用11
) - 但只是为了关联?我们的problem somewhat similar有一个答案,但是它已经有4年了,它会覆盖association_class。我们仍然在我们的代码库中的其他地方使用了一些奇怪的Django voodoo,所以覆盖感觉它们会导致更多问题而不是解决。