外部APIからデータを取得していて、結果をローカルにキャッシュしたいと思います。 _class SearchTerm
_があり、テーブル_searchable_items
_を介していくつかの異なるActiveRecordタイプに関連付けたいと思います。テーブルが正しく設定されていることは確かですが、関連付けの何かが間違っている必要があります。
_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
_
SearchTerm.find_by_term('SearchTerm').searchables
のようなことができると期待します(そしてFooオブジェクトとBarオブジェクトの配列を返します)が、エラー_Could not find the association :searchable_items in model SearchTerm
_が発生します
あなたが私に提供できる洞察を事前に感謝します!
has_many :searchable_items
オプションはその関連付けを参照するため、Foo
、Bar
、およびSearchTerm
モデルに:through => :searchable_items
関連付けを追加する必要があります。
http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association