acabo de ir a través de este y encontró que sólo tiene que ir a través de cada plugin para comprobar algunas cosas:
- ¿Es una joya en rubygems? Si es así, sólo se adhieren en su Gemfile y eliminar de
vendor/plugins
- Si no hay joya está disponible, o la joya es vieja, tomar la carpeta en
vendor/plugins
y moverlo a lib/plugins
Una cosa que me encontré con que es que luego necesita requerir todos esos complementos manualmente. Aquí está el inicializador he creado y colocado en config/initializers/plugins.rb
:
Dir[Rails.root.join('lib', 'plugins', '*')].each do |plugin|
next if File.basename(plugin) == 'initializers'
lib = File.join(plugin, 'lib')
$LOAD_PATH.unshift lib
begin
require File.join(plugin, 'init.rb')
rescue LoadError
begin
require File.join(lib, File.basename(plugin) + '.rb')
rescue LoadError
require File.join(lib, File.basename(plugin).underscore + '.rb')
end
end
initializer = File.join(File.dirname(plugin), 'initializers', File.basename(plugin) + '.rb')
require initializer if File.exists?(initializer)
end
también tuve el problema de valores de inicialización que necesitaba para algunos de los plugins, por lo que se trasladó esos inicializadores particulares en la carpeta lib/plugins/initializers
. Debe nombrar el nombre del complemento, por lo que un inicializador para el complemento my_plugin
debería estar en el archivo lib/plugins/initializers/my_plugin.rb
Espero que esto ayude!
¡Muchas gracias por su publicación de blog! Acabo de convertir con éxito [gmail_smtp] (https://github.com/adamwiggins/gmail_smtp/) usando sus excelentes instrucciones. En caso de que ayude a alguien, cambié las dos líneas en el 'init.rb' original de' require 'smtp_tls'' y 'require' actionmailer_gmail'' para' requerir File.dirname (__ FILE__) + '/../ ../lib/gmail_smtp/smtp_tls'' y 'requieren File.dirname (__ FILE__) + '/../../ lib/gmail_smtp/actionmailer_gmail'' respectivamente. – user664833
El enlace está muerto, ¿podría publicar una nueva @coneybeare? –
el enlace no funciona :( –