que tienen una aplicación Rails 3 que me estoy convirtiendo en un motor de rieles/joya. Este motor tiene algunas dependencias de gemas que he puesto dentro de su archivo .gemspec.¿Cómo puedo hacer dependencias gemspec carga automática en una aplicación Rails 3, utilizando un Gemfile
He creado una nueva aplicación 'padre' de Rails 3, y me gustaría agregar mi gema del motor al Gemfile y tener las dependencias de la gema 'cargadas' automáticamente, ¡pero esto no funciona para mí! bundle install
instala las dependencias de la gema bien, pero cuando inicio el servidor, la aplicación se cuelga porque no están cargadas.
Por ejemplo, gemspec de mi motor contiene estas líneas:
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"])
.. y los rieles de padres 3 aplicación dispone de estas líneas en su Gemfile:
source 'http://rubygems.org'
gem 'my_engine', :path => "~/src/gems/my_engine"
pero me da el siguiente error:
undefined local variable or method `acts_as_commentable'
from /home/user/src/gems/my_engine/app/models/account.rb:66:in `<class:Account>'
Pero si añado gem 'acts_as_commentable', '>= 3.0.1'
a la Gemfile de los rieles de padres 3 aplicación, luego se carga la gema y el error desaparece.
Estoy usando Rails 3.0.8.
¿Alguien tiene alguna sugerencia? ¿Debo cambiar algo sobre la forma en que mi motor se está cargando?
Muchas gracias por confirmar que este es el comportamiento esperado. Hay un problema cerrado (rechazado) en el paquete con la idea de 'Gemfiles recursivos', que suena como que podría haber sido útil: https://github.com/carlhuda/bundler/issues/49 – ndbroadbent
Para mí necesitaba requerir en /lib/my_engine.rb. Ejemplo: https://github.com/krisleech/qwerty/commit/c1e82cef27013afc6a540412e101cc2b6aeb4898 – Kris