Railsの2.3.5と0.9.4にバンドラのアップグレードの問題
-
21-09-2019 - |
質問
Herokuのは、そのすべてのアプリがバンドラの最新バージョン(0.9.4)にアップグレードして作られています。
アップグレードの手順など、私は README の上で見つかったすべての指示に従いました( )。しかし、私は私のアプリケーションはもはや実行をアップグレードした後。たとえば、私は、get
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があります
ご協力いただきありがとうございます。
解決
どのようにこの作品
私に聞かないでください、私は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
私のconfig変数が異なっていた私はなぜ知らないが、いくつかの理由のために彼らがいます。私は少し良く私よりも内部を理解し、誰かがそれを説明することができます確信しています。
* Herokuのために、あなたはまた、postgresの「PG」宝石がインストールされている必要があります。これは、他のマイナーな不快感でした。あなたはpostgresのインストール方法に応じて、pg_configコマンドを見つけることは別の頭痛することができます。あなたはこれで助けが必要なら、私に教えてください。
所属していません StackOverflow