Railsエンジン/宝石に変えているRails 3アプリがあります。このエンジンには、.gemspec ファイル内にいくつかの gem 依存関係があります。
新しい「親」Rails 3 アプリを作成しました。エンジン gem を Gemfile に追加して、gem の依存関係を自動的に「ロード」したいのですが、うまくいきません! bundle install
gem の依存関係を正常にインストールしますが、サーバーを起動すると、読み込まれていないためにアプリがクラッシュします。
たとえば、私のエンジンの gemspec には次の行が含まれています。
s.add_runtime_dependency(%q<rails>, ["= 3.0.7"])
s.add_runtime_dependency(%q<acts_as_commentable>, [">= 3.0.1"])
s.add_runtime_dependency(%q<haml>, [">= 3.1.1"])
.. 親の Rails 3 アプリケーションの Gemfile には次の行があります。
source 'http://rubygems.org'
gem 'my_engine', :path => "~/src/gems/my_engine"
しかし、次のエラーが表示されます。
undefined local variable or method `acts_as_commentable'
from /home/user/src/gems/my_engine/app/models/account.rb:66:in `<class:Account>'
しかしgem 'acts_as_commentable', '>= 3.0.1'
、親の Rails 3 アプリの Gemfile に追加すると、gem が読み込まれ、エラーは消えます。
Rails 3.0.8 を使用しています。
誰か提案はありますか?エンジンのロード方法を変更する必要はありますか?