2011-08-11 23 views
13

Mam model z searchable bloku, tak jak poniżej:Sunspot_Rails - metoda niezdefiniowany `przeszukiwania” na stronie

class Contact < ActiveRecord::Base 
    searchable do 
    text :contact_name, :company_name, :contact_email 
    end 
end 

W index działania regulatora, dzwonię Contact.new, który daje mi komunikat o błędzie na stronie, która jest aktualnie uruchomione na naszym serwerze Staging:

metoda niezdefiniowany `przeszukiwania” dla # < Klasa: 0xce0bf80 >

Śledzenie stosu wskazuje na blok searchable w modelu poprzez linię Contact.new w kontrolerze.

Po uruchomieniu kodu lokalnie, na stronie internetowej lub konsoli, lub za pośrednictwem konsoli serwera pośredniczącego, ten błąd nie pojawia się - tylko na stronie pośredniej.

Usługa Solr działa poprawnie na serwerze pomostowym, a dane zostały pomyślnie zindeksowane. Wszelkie teorie dotyczące tego, dlaczego nie grają w piłkę w inscenizacji będą akceptowane.

EDIT

w odpowiedzi na pytanie Nicka poniżej, Gemfile ma tylko tej linii Sunspot: gem 'sunspot_rails'

Dla Gemfile.lock, wszystkie te linie mogłem spot zawierający odnośniki plam lub Solr :

GEM 
    rsolr (0.12.1) 
    builder (>= 2.1.2) 
    sunspot (1.2.1) 
    escape (= 0.0.4) 
    pr_geohash (~> 1.0) 
    rsolr (= 0.12.1) 
    sunspot_rails (1.2.1) 
    nokogiri 
    sunspot (= 1.2.1) 

DEPENDENCIES 
    sunspot_rails 
+0

Mam ten sam problem. Czy kiedykolwiek udało ci się to rozwiązać? –

+0

Jakiej wersji Ruby, Rails, RubyGems i Bundler używasz? Zakończyłem aktualizację RubyGems i Bundler, a problem (magicznie) odszedł. –

Odpowiedz

0

Wygląda na to, że klej nie jest poprawnie wczytywany na Twojej witrynie postoju. Jeśli możesz pokazać odpowiednie sekcje Gemfile i Gemfile.lock, mogę zaktualizować więcej odpowiedzi.

EDYCJA - Gemfile wygląda dobrze. Przepraszam, ale nie mam nic, nie mogąc dostać się do aplikacji. Zgłaszanie błędu do listy mailingowej Sunspot? http://outoftime.github.com/sunspot

0

Po przeczytaniu this post zrozumiałem, że problem jest, ponieważ linia zadania Rake uniemożliwia ładowanie Sunspot udało mi się go rozwiązać w następujący sposób:

usunąłem następujący wiersz z mojego Rakefile wymagają

stworzyłem plik sunspot.rake i dodać do niego zawartość pliku z następującego źródła plam gem „SUNSPOT/Rails/Zadania”: /gems/sunspot_rails-1.2.1/lib/sunspot/rails/ tasks.rb

Wiem, że to hack, ale działa.

13

Miałem ten sam problem i po prostu musiałem zrestartować mój serwer szyn. Proste rozwiązanie, ale gdyby nie inny post sugerujący, że tak robię, prawdopodobnie próbowałbym debugować błąd przez znacznie dłuższy czas, zanim spróbuję ponownie uruchomić serwer, hehe ...

5

To może się również zdarzyć, jeśli zapomnisz zrestartować serwer szyny po zainstalowaniu nowego klejnotu plam słonecznych

Powiązane problemy