2011-01-26 5 views
1

Im используя мышление-Сфинкса как плагин в моем RoR приложение, но Im имея эту ошибку:Ошибка при использовании Thinking Sphinx под Ruby On Rails

неопределенный метод `define_index» для #

Что может это будет?

Модель

class Group < ActiveRecord::Base 
    belongs_to :retailer_product 
    has_many :group_ranges, :dependent => :destroy 
    has_many :group_clients, :dependent => :destroy 
    has_many :group_notifications, :dependent => :destroy 

    define_index do 
    indexes retailer_product.review 
    indexes retailer_product.retailer.retailer_name 
    indexes retailer_product.product.pr_id 
    indexes retailer_product.product.product_name 
    indexes retailer_product.product.product_tags.tag.tag, :as => :ptag #indexes tag.tag 
    indexes retailer_product.product.product_properties.property.value, :as => :pvalue #indexes product_property.value 
    indexes retailer_product.product.brand.brand, :as => :product_brand 

    has :id 

    where "groups.active=1" 

    group_by "groups.id" 
    end 
end 

environment.rb

# Be sure to restart your server when you modify this file 

# Specifies gem version of Rails to use when vendor/rails is not present 
RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION 

# Bootstrap the Rails environment, frameworks, and default configuration 
require File.join(File.dirname(__FILE__), 'boot') 

ENV['RAILS_RELATIVE_URL_ROOT']="/project" 

Rails::Initializer.run do |config| 
    config.time_zone = 'UTC' 
end 

Заранее спасибо!

ответ

3
config.gem(
    'thinking-sphinx', 
    :lib  => 'thinking_sphinx', 
    :version => '1.3.11' 
) 

Пожалуйста, прочитайте: http://freelancing-god.github.com/ts/en/installing_thinking_sphinx.html

перезапуск приложения после редактирования environment.rb

+0

Спасибо! Правильный способ сделать это, если вы используете его как драгоценный камень, и если вы используете его как плагин, вам просто нужно поставить: require 'thinking_sphinx' в начале контроллера =) – pablomarti

+0

Вам не нужно требовать TS вручную - в контроллере или в другом месте - при установке в качестве плагина. Он должен просто работать. Вы сделали что-то другое, чтобы установить его? Или просто 'script/plugin install git-url'? – pat

+0

Я сделал это, но это не сработало, пока я не использую – pablomarti

 Смежные вопросы

  • Нет связанных вопросов^_^