Проблемы при обновлении пакета до 0.9.4 с Rails 2.3.5 - PullRequest
0 голосов
/ 18 февраля 2010

Heroku обновил все свои приложения до последней версии пакета (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 Ответ

2 голосов
/ 21 февраля 2010

Пожалуйста, не спрашивайте меня, как это работает, но у меня была точно такая же проблема с тем, что, как мне казалось, не соответствовало зависимостям, путям или другим путям в 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". Это было еще одно небольшое раздражение. В зависимости от того, как вы устанавливаете postgres, поиск pg_config может быть еще одной головной болью. Дайте мне знать, если вам нужна помощь с этим.

...