2010-10-18 1 views
10

Ich habe searchlogic in meinem gemfile ... und jetzt wird mein Schienen-Server nicht gestartet :(Wie kann ich searchlogic mit rails 3 arbeiten?

dies ist die Fehlernachricht

gems/ruby-1.8.7-p299/gems/activesupport-3.0.0/lib/active_support/core_ext/module/aliasing.rb:31:in `alias_method': undefined method `merge_joins' for class `Class' (NameError) 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/activesupport-3.0.0/lib/active_support/core_ext/module/aliasing.rb:31:in `alias_method_chain' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/searchlogic-2.4.27/lib/searchlogic/active_record/consistency.rb:8:in `included' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/searchlogic-2.4.27/lib/searchlogic/active_record/consistency.rb:7:in `class_eval' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/searchlogic-2.4.27/lib/searchlogic/active_record/consistency.rb:7:in `included' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/searchlogic-2.4.27/lib/searchlogic.rb:34:in `include' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/searchlogic-2.4.27/lib/searchlogic.rb:34 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/bundler-1.0.0/lib/bundler/runtime.rb:64:in `require' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/bundler-1.0.0/lib/bundler/runtime.rb:64:in `require' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/bundler-1.0.0/lib/bundler/runtime.rb:62:in `each' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/bundler-1.0.0/lib/bundler/runtime.rb:62:in `require' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/bundler-1.0.0/lib/bundler/runtime.rb:51:in `each' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/bundler-1.0.0/lib/bundler/runtime.rb:51:in `require' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/bundler-1.0.0/lib/bundler.rb:112:in `require' 
from /Users/omiohoro/glowing-rain-75/config/application.rb:7 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/railties-3.0.0/lib/rails/commands.rb:28:in `require' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/railties-3.0.0/lib/rails/commands.rb:28 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/railties-3.0.0/lib/rails/commands.rb:27:in `tap' 
from /Users/omiohoro/.rvm/gems/ruby-1.8.7-p299/gems/railties-3.0.0/lib/rails/commands.rb:27 
from script/rails:6:in `require' 
from script/rails:6 

Wie ich dieses Problem beheben Sie? Vielen Dank im Voraus prost Tabaluga

Antwort

17

Es gibt die railsdog's searchlogic fork auf Github geändert wird, die Rails 3.

Sie können fügen Sie sie Gemfile wie folgt unterstützt:

gem 'rd_searchlogic', :require => 'searchlogic', :git => 'git://github.com/railsdog/searchlogic.git' 
+0

danke! Danke! Danke! – tabaluga

+2

Dieser Fork von Searchlogic funktionierte nicht für mich auf Rails 3.1 – steve

+3

Es funktioniert auch nicht auf Rails 3.2 - lib/searchlogic/named_scopes/ordering.rb: 45: in 'method_missing ': Stack - Level zu tief (SystemStackError) –

9

In Schienen 3, könnten Sie meta_search stattdessen verwenden.

Es ist sehr ähnlich, aber

searchlogic
<%= order @search, :by => :name, :as => "Order By Name" %> 

zu

<%= sort_link @search, :name, "Order By Name" %> 
+1

Dank, hmpfh, aber Gibt es eine Möglichkeit, Suchlogik funktionieren zu lassen? – tabaluga

+0

Matt hat den Weg zurück zu searchlogic: D Eigentlich meta_search funktioniert genau wie searchlogic und nach dem Ersetzen dieser 'Bestellung' zu' sort_link', sollte es wie erwartet funktionieren ^^ – PeterWong

+0

Roger dass :) danke – tabaluga