Rails polymorphic has_many: через

Я извлекаю некоторые данные из внешнего API и хотел бы кэшировать результаты локально. У меня есть class SearchTerm, который я хотел бы связать с несколькими различными типами ActiveRecord через таблицу searchable_items. Я уверен, что таблицы правильно настроены, но что-то в моих ассоциациях должно быть неправильным.

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

Заранее благодарим за любое понимание, которое вы можете мне предоставить!