0

バットマンモデルにポリモーフィックアソシエーションを実装しようとすると問題が発生します。コンソールで次のエラーが発生します。

ポリモーフィックアソシエーションに対して未定義の関連モデルが見つかりません。

どこが間違っているのかを突き止めるのに苦労しています。不足している部分を見つけるためにどこを見ればよいですか?

私のモデルは次のようになります。

class Admin.Product.PopularCollectables extends Batman.Model
  @belongsTo 'collectable', polymorphic: true

class Admin.Item extends Batman.Model
  @hasOne 'popular_collectable', as: 'collectable'
4

2 に答える 2

0

Railsからクライアントに送信されるときに、親のBatman Modelインスタンス内にリレーションのbelongs_to側面を埋め込むことで、この問題を回避することができました。has_many

format.json {render :json => @post, :include => {:comments => {:include => :comments}}}
于 2013-06-09T12:35:11.237 に答える
0

Batmanは、関連するモデルをアソシエーションにロードするときに、名前空間をチェックします。デフォルトでは、名前空間はBatman.currentApp(呼び出した後のアプリですMyApp.run())ですが、関連付けを宣言するときに名前空間を渡すこともできます。

class Admin.Item extends Batman.Model
  @hasOne 'popular_collectable', as: 'collectable', namespace: Admin.Product

そうすれば、バットマンはPopularCollectableAdminではなくAdmin.Productを検索します。

于 2013-11-19T05:50:29.167 に答える