Problemas al inicial servidor


#1

Hola a todos,

He intentado poner el plugin de bundle_resource en una aplicación que
estoy
haciendo y cuando intento inicial el servidor me aparece el siguiente
error,
no llegando a arrancar éste:

/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.
rb:123:in const_missing': uninitialized constant Localization (NameError) from ./script/../config/../app/helpers/application_helper.rb:3 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:inrequ ire’
from
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/
dependencies.rb:147:in require' from script/../config/../vendor/plugins/bundled_resource- 0.9/init.rb:18: inload_plugin’
from
/usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/initializer.rb:348:in
load_plugin' from /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/ core_ext/kernel/reporting.rb:11:insilence_warnings’
from
/usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/initializer.rb:348:in
load_plugin' from /usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/initializer.rb:158:in load_plugins’
… 9 levels…
from /usr/lib/ruby/gems/1.8/gems/rails-1.1.6
/lib/commands/server.rb:30
from
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in
requ ire' from /usr/lib/ruby/gems/1.8/gems/activesupport- 1.3.1/lib/active_support/ dependencies.rb:147:inrequire’
from script/server:3

Parece que es un problema relacionado con la gema
localization_generator y
el plugin bundled_resource(1).

¿Alguien ha tenido un problema parecido ? ¿Me podéis dar alguna pista de
por
donde mirar para solucionarlo?

Muchas gracias por vuestro valioso tiempo.

(1)
http://blog.inquirylabs.com/2006/01/26/bundled-resource-v-09-full-dynarch-calendar-support/


#2

Hola a todos,

Explico cómo he solucionado éste tema.

Solución al problema:

Pequeña introducción, partimos de la base de que la aplicación tiene
instalado las gemas:

salted_login_generator
localization_generator

para poder utilizar el sistema de autenticación Salted Login (1)

En las instrucciones de instalación (1) en el punto 5 indica que se debe
poner el el fichero ApplicationHelper
(yourapp/app/helpers/application_helper.rb):

include Localization

El problema surge cuándo intento añadir el plugin Bundled_Resouce v.0.9
(2).
Después de hacer la instalación de dicho pluging intento hacer
un arranque del servidor web WEBrich, lo cual no sucede ya que falla
indicando:

/usr/lib/ruby/gems/1.8/gems
/activesupport-1.3.1/lib/active_support/dependencies. rb:123:in
const_missing': uninitialized constant Localization (NameError) from ./script/../config/../app/helpers/application_helper.rb:3 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:inrequ ire’
from
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/
dependencies.rb:147:in require' from script/../config/../vendor/plugins/bundled_resource- 0.9/init.rb:18: inload_plugin’
from
/usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/initializer.rb:348:in
load_plugin' from /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/ core_ext/kernel/reporting.rb:11:insilence_warnings’
from
/usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/initializer.rb:348:in
load_plugin' from /usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/initializer.rb:158:in load_plugins’
… 9 levels…
from /usr/lib/ruby/gems/1.8/gems/rails-1.1.6
/lib/commands/server.rb:30
from
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in
requ ire' from /usr/lib/ruby/gems/1.8/gems/activesupport- 1.3.1/lib/active_support/ dependencies.rb:147:inrequire’
from script/server:3

Mirando en el fichero init.rb del plugin bundled_required encuentro las
siguientes líneas:

ApplicationHelper.send(:include, RequireResource)
  ApplicationHelper.send(:include, BundledResource)

por lo que he podido indagar parece que éstas lo que hacen es añadir al
ApplicationHelper éstos módulos en modo privado.

Y en éste punto está el problema, desconozco el motivo pero parece que
teniendo algún otro módulo en el ApplicationHelper
falla al intentar cargar los módulos del pluging.
He solucionado el problema quitando la línea del fichero
ApplicationHelper
(yourapp/app/helpers/application_helper.rb):

include Localization

e incluyendo en el controlador de aplicación
(yourapp/app/controllers/application.rb) la linea:

helper Localization

Con lo que tenemos el helper y podemos cargar los módulos privados del
plugin.

(1)
http://wiki.rubyonrails.org/rails/pages/SaltedLoginGeneratorQuickstart
(2) http://blog.inquirylabs.com/2006/01/

Saludos.