0

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 按照这个要点的指示

谢谢你的帮助。

4

1 回答 1

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 可能是另一个令人头疼的问题。如果您需要这方面的帮助,请告诉我。

于 2010-02-21T12:58:10.747 回答