Проблема с мышлением сфинкса и прицелов - PullRequest
3 голосов
/ 24 ноября 2010

Уже несколько часов я безуспешно пытаюсь заставить работать сфинкс-прицелы.

Я хочу использовать теги ActsAsTaggableOn. В моей модели (с возможностью тегирования) я пробовал следующие области действия:

# This normal scope works
scope :tagged, lambda {
  joins(:taggings => :tag).
  where("tags.name = 'consequatur'")
}

# fails! (can't convert ActiveRecord::Relation into Hash)
sphinx_scope :tagged do
  joins(:taggings => :tag).
  where("tags.name = 'consequatur'")
end

Еще одна попытка со старыми условиями:

# works with normal scope (returns one record)
scope :tagged, :joins => :taggings, :conditions => {"taggings.tag_id" => 74}

# fails! (returns nothing)
sphinx_scope(:tagged) do
  {:joins => :taggings, :conditions => {"taggings.tag_id" => 74}}
end

Как я могу заставить эти области работать? Есть ли другой способ заархивировать эту задачу? Я хочу искать только те модели, которые помечены определенным тегом.

...