Получить поля и атрибуты, определенные с помощью мышления - PullRequest
0 голосов
/ 04 сентября 2011

Как я могу получить список определенных атрибутов мышления и полей на модели?В частности, я хочу проверить, определен ли входной атрибут для sphinx

пример определения:

has store.name, :as => :store_name

я хочу что-то вроде Model.sphinx_attributes.include? :store_name

1 Ответ

2 голосов
/ 04 сентября 2011

Следующее должно сделать трюк:

Model.sphinx_indexes.collect { |index|
  index.attributes.collect &:unique_name
}.flatten.include?(:store_name)

Поля во многом одинаковы:

Model.sphinx_indexes.collect { |index|
  index.fields.collect &:unique_name
}

Перед запуском любой из них рекомендуется сначала запустить ее, чтобы убедиться, что индексызагружены:

Model.define_indexes

Если они уже загружены, этот метод ничего не сделает.

...