Estoy actualizando Ruby on Rails de 3.1 a 3.2.2 y me gustaría saber qué debo hacer y en lo que debería tener cuidado para mover correctamente mi complemento de proveedor (nota: no es un joya, y en este momento no estoy planeando hacer que una joya) desde el directorio /vendor
a /lib
, así como escribió en el official documentation:Actualización a Rails 3.2.2: ¿Cómo mover correctamente mi complemento desde el directorio '/ vendor' a '/ lib'?
Rails 3.2 deprecates vendedor/plugins y Rails 4.0 se eliminarán por completo. Puede comenzar a reemplazar estos complementos extrayéndolos como gemas y agregándolos en su Gemfile. Si elige no convertirlos en gemas, puede moverlos a, por ejemplo, lib/my_plugin/* y agregar un inicializador apropiado en config/initializers/my_plugin.rb.
Me refiero sobre todo a la "un inicializador apropiada en config/inicializadores/my_plugin.rb": ¿Qué código debo poner en ese archivo?
Más: ¿Tiene algún consejo o alerta sobre la realización del proceso anterior?
Mi complemento es muy simple y debería funcionar si sigo las instrucciones en la publicación de blog vinculada. Además, mi complemento tiene la misma estructura de sistema de archivos del complemento en la publicación. Sin embargo, tengo un problema en el paso * 6 * cuando debe usar la instrucción 'require': si en mi archivo' config/initializers/plg_name.rb' utilizo 'require File.dirname (__ FILE__) + '/ lib/plg_name '' no funciona y recibo el error de Phusion Passenger 'no se carga ese archivo -//config/initializers/lib/plg_name'. –
user502052
También traté de usar 'require File.dirname (__ FILE__) + '/ lib/plg_name/plg_name'' y' require File.dirname (__ FILE__) +'/lib/plg_name/plg_name.rb'', pero el problema aún persiste – user502052
El error '//config/initializers/lib/plg_name' le dice que no hay un archivo allí y que es correcto. Debería poder usar 'require 'plg_name/plg_name'' porque Rails buscará en el directorio lib. –
James