私は外部APIからいくつかのデータを取得しており、結果をローカルにキャッシュしたいと思います。私はclass SearchTerm
を持っています。これはテーブルsearchable_items
を通して、いくつかの異なるActiveRecordタイプに関連したいと思います。私はテーブルを正しくセットアップしているとはかなり確信していますが、私の団体の何かが間違っていなければなりません。多様なコードhas_many:through
class Foo < ActiveRecord::Base
has_many :search_terms, :as => :searchable, :through => :searchable_items
end
class Bar < ActiveRecord::Base
has_many :search_terms, :as => :searchable, :through => :searchable_items
end
class SearchTerm < ActiveRecord::Base
has_many :searchables, :through => :searchable_items
end
class SearchableItem < ActiveRecord::Base
belongs_to :search_term
belongs_to :searchable, :polymorphic => true
end
私は(と、それはfooとバーオブジェクトの配列を返します)しかし、私は任意の洞察力のために事前にエラーに
Could not find the association :searchable_items in model SearchTerm
感謝を取得SearchTerm.find_by_term('SearchTerm').searchables
ような何かを行うことができることを期待する
ます私に提供することができます!
残念ながら、あなたが示唆したものを追加すると、 'がにhas_manyを持つことはできません提供します:協会を通じて 'SEARCHTERM#searchables' ポリモーフィックオブジェクトの検索可能#のsearchable'.'にここ – lyricat
同様のセットアップします。http://のstackoverflowを。 com/questions/1683265/activerecord-has-many-through-and-polymorphic-associations – Heikki
エラーメッセージにあるように、ポリモーピックオブジェクトには多くの関連を持つことはできません。上のリンクされた質問のように、 'Foo'と' Bar'のために別々にすることができます。 – Heikki