Debido al concepto introducido en here,¿Cómo resolver las tareas de rake deprecation en el plugin Rails?
Rails :: Plugin es nada más que un Rails :: Engine, pero ya que está cargado demasiado tarde en el proceso de arranque, no no tienen el mismo configuración poderes como un Rails :: Engine desnudo.
Opuesto a los rieles :: Railtie y Rails :: Engine, se supone que usted no debe heredar de Rails :: Plugin. Rails :: El complemento es automáticamente configurado para ser un motor simplemente colocando dentro del proveedor/complementos. Dado que esto se hace automáticamente, usted en realidad no puede declarar Rails :: Engine dentro de su complemento, de lo contrario, podría causar que los mismos archivos se carguen dos veces. Esto significa que si desea enviar un motor como gem no puede usarse como complemento y viceversa.
Además de esta diferencia conceptual, la única diferencia entre rieles :: Motor y rieles :: plugin es que los plugins se carga automáticamente el archivo "init.rb" en la raíz complemento durante el proceso de arranque.
Las tareas de rake en los complementos de rails están en desuso y se recomienda usar lib/tasks en su lugar. ¿Cómo resolver esto? ¿Puedo simplemente mover las tareas del complemento a lib/tasks?
Esto parece funcionar. Sin embargo, todavía tengo curiosidad por saber cuál es el reemplazo de este comportamiento. es decir, ¿cómo los complementos definen nuevas tareas ahora? – Trejkaz
están todos en RAILS_ROOT/tasks /, es por eso que solo con moverlos se soluciona este problema, es lo mismo pero en un lugar diferente – vrsmn
ayuda a eliminar el picor. gracias ~~ – lkahtz