У меня есть приложение Rails 3, которое я превращаю в движок / гем Rails.У этого движка есть некоторые зависимости от гемов, которые я поместил в его файл .gemspec.
Я создал новое «родительское» приложение Rails 3, и я хотел бы добавить свой гем движка в Gemfile и получить драгоценный каменьзависимости автоматически «загружаются», но у меня это не работает!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'
в Gemfileродительского приложения Rails 3, затем гем загружается и ошибка исчезает.
Я использую Rails 3.0.8.
У кого-нибудь есть предложения?Нужно ли что-то изменить в способе загрузки моего двигателя?