1

現在、このエラーが発生します:NameError: undefined methodクラスのmerge_joins'Class'

私はちょうどやっています

gem "searchlogic"

そしてバンドラーはそれがバージョンを使用していると言っています2.4.28

それで... Rails 2.3.8で使用する正しいsearchlogicバージョンは何ですか?

searchlogic 2.4.28 は、2.3.11 =\ が必要になる前に利用可能な最後のバージョンでした。

NameError: undefined method `merge_joins' for class `Class'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method_chain'
/Library/Ruby/Gems/1.8/gems/searchlogic-2.4.28/lib/searchlogic/active_record/consistency.rb:8:in `included'
/Library/Ruby/Gems/1.8/gems/searchlogic-2.4.28/lib/searchlogic/active_record/consistency.rb:7:in `class_eval'
/Library/Ruby/Gems/1.8/gems/searchlogic-2.4.28/lib/searchlogic/active_record/consistency.rb:7:in `included'
/Library/Ruby/Gems/1.8/gems/searchlogic-2.4.28/lib/searchlogic.rb:34:in `include'
/Library/Ruby/Gems/1.8/gems/searchlogic-2.4.28/lib/searchlogic.rb:34
/Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require'
/Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require'
/Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `each'
/Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `require'
/Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `each'
/Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `require'
/Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler.rb:120:in `require'
~/category/app/config/environment.rb:16

私のenvの16行目で、私はこれを行います:

Bundler.require(:default)

編集:Gemfile:

source "http://rubygems.org"
# system
gem "rails", "2.3.8"
gem "activesupport", "2.3.8", :require => "active_support"
gem "rake", "0.8.7"

# might be for POW, not sure
gem "childprocess", "0.2.2", :git => "git://github.com/jarib/childprocess.git"


# app
gem "mysql", "2.7"
gem "lockfile"
gem "ssl_requirement", "0.1.0"
gem "attr_encrypted", "1.1.2"
gem "searchlogic", "2.3.5"
gem "will_paginate", "2.3.14"

gem "garb", "0.7.6"
gem "delayed_job", "2.0.3"
gem "httparty", "0.5.2"


gem "pony", "1.1"
gem "friendly_id", "3.0.6"
gem "stringex", "1.1.0"
gem "i18n", "0.4.2"

gem "sms_fu", "1.1.1"
4

2 に答える 2

0

2.3.5はまともなRails2.3.xをサポートしているようです。

gem "searchlogic", :version => "2.3.5"

プロジェクトの履歴を確認すると、Rails2.3.11の依存関係が2.4.29に追加されたことがわかります。

https://github.com/binarylogic/searchlogic/blob/v2.4.29/Gemfile

編集:依存関係が2.4.28まで追加されなかったとしても、Heroku2.3.5でいくつかの証拠がRails2.3.8で機能することがわかりました

于 2011-08-31T19:02:05.820 に答える
0

結局のところ、私が使用できるバージョンの searchlogic はバンドラーでは動作しないため、environment.rb にこれを保存しました。

config.gem "searchlogic", :version => "whatever"
于 2011-09-01T13:25:26.760 に答える