我遇到了一个试图在Batman模型上实现多态关联的问题。我在控制台中收到此错误:
未找到多态关联的相关模型未定义。
我很难找到我错的地方。我应该在哪里找到丢失的部分?
我的模型看起来像这样:
class Admin.Product.PopularCollectables extends Batman.Model
@belongsTo 'collectable', polymorphic: true
class Admin.Item extends Batman.Model
@hasOne 'popular_collectable', as: 'collectable'
答案 0 :(得分:0)
我可以通过在父级Batman Model实例中将belongs_to
关系嵌入到来自Rails的客户端来解决此问题:
has_many
答案 1 :(得分:0)
当Batman在关联中加载相关模型时,它会检查命名空间。默认情况下,命名空间为Batman.currentApp
(在您调用MyApp.run()
后是您的应用程序),但您也可以在声明关联时传递命名空间:
class Admin.Item extends Batman.Model
@hasOne 'popular_collectable', as: 'collectable', namespace: Admin.Product
这样,蝙蝠侠将在Admin.Product而不是Admin上寻找PopularCollectable
。