Ruby on Rails:2.3.8:如何让searchlogic与bundler一起使用?

时间:2011-08-31 18:41:18

标签: ruby-on-rails searchlogic

目前,我收到此错误:NameError: undefined method merge_joins'用于课程Class'

我正在做

gem "searchlogic"

和bundler说它正在使用版本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

在我的环境第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"

2 个答案:

答案 0 :(得分:0)

看起来2.3.5具有不错的Rails 2.3.x支持:

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

浏览项目历史记录显示在2.4.29中添加了Rails 2.3.11依赖:

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

编辑:发现Heroku 2.3.5上的一些证据可以与Rails 2.3.8一起使用,即使在2.4.28之前没有添加依赖

答案 1 :(得分:0)

事实证明,我可以使用的searchlogic版本不适用于bundler,所以我只是将它保存在我的环境中.rb:

config.gem "searchlogic", :version => "whatever"