使用Rails 2.3.5将bundler升级到0.9.4的问题

时间:2010-02-18 01:47:26

标签: ruby-on-rails heroku bundler

Heroku将其所有应用程序升级到最新版本的bundler(0.9.4)。

我按照README上的所有说明(包括升级说明)。但是一旦我升级我的应用程序就不再运行了。例如我得到

NoMethodError (undefined method `acts_as_taggable_on' for #<Class:0x1b7f614>):

我的Gemfile如下

source 'http://gemcutter.org'
source 'http://gems.github.com'

gem "rails", "2.3.5", :require => nil

gem 'will_paginate', '2.3.11'
gem 'jackdempsey-acts_as_commentable', :require => 'acts_as_commentable'
gem 'acts-as-taggable-on'

# Authorization
gem 'authlogic'
gem 'authlogic-oid', :require => 'authlogic_openid'
gem 'ruby-openid', :require => 'openid'

#Authentication
gem 'cancan'

gem 'gravtastic', '>= 2.1.0'

# Exception Notification
gem 'hoptoad_notifier'

# Search (Note ties us to Postgres)
gem 'texticle'

gem 'pg'

我的boot.rb,preinitializer.rb符合此gist

的说明

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

请不要问我这是如何工作的,但是我遇到了与actionpack依赖关系或路径或其他东西相似的问题。

我使用了捆绑团队提到的所有要点:http://gist.github.com/302406

但是我将config / boot.rb脚本调整为:

class Rails::Boot
  def run
    load_initializer
    extend_environment
    Rails::Initializer.run(:set_load_path)
  end

  def extend_environment
    Rails::Initializer.class_eval do
      old_load = instance_method(:load_gems)
      define_method(:load_gems) do
        old_load.bind(self).call
        Bundler.require :default, RAILS_ENV        
      end
    end
  end
end

我不知道为什么我的配置变量不同,但出于某种原因它们是。我敢肯定有人比我更了解内部结构可以解释它。

*对于heroku,你还必须安装postgres“pg”gem。这是另一个小麻烦。根据你安装postgres的方式,找到pg_config可能是另一个令人头痛的问题。如果您需要帮助,请告诉我。

相关问题