0

Collections、Tracks、ProductContributors の 3 つのテーブルがあります。それらの関連付けは次のとおりです。

class Collection < ActiveRecord::Base
  has_many :product_contributors, :as => :product 
  has_many :tracks, :through => Product_contributors, :as=> :product
end

class Track < ActiveRecord::Base
 has_many :product_contributors, :as => :product 
 has_many :collections, :through => Product_contributors, :as => :product
end

class ProductContributor < < ActiveRecord::Base
  belongs_to :product, :polymorphic => true
  belongs_to :collection
  belongs_to :track
end

製品コントリビューターの URL にアクセスするたびに、次のエラーが表示されます: /app/models/track.rb
が TRACK

を定義することが期待されています 自動ロードの問題はありません。すべてのモデルが適切にロードされています



どんな助けでも大歓迎です..!!

4

1 に答える 1

0

私はあえてあなたのTrackクラスのタイプミスのためにそれを言います。

has_many :collections, :through => Product_contributors, :as => :product

有効ではない。試す:

has_many :collections, :through => :product_contributors, :as => :product

基本的に、モデルをロードしようとしていますが、関連付けでタイプミスが検出され、ロードされていないため、クラスが存在しないように見えます。Collectionクラスでも同様の状況になると思います。

于 2012-08-24T15:55:45.257 に答える