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
的说明感谢您的帮助。
答案 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可能是另一个令人头痛的问题。如果您需要帮助,请告诉我。