2010-05-18 9 views
5

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?

Respuesta

9

acabo de tener el mismo problema aquí, se acaba de mudar todo el vendedor/plugins/*/tareas/*. Rastrillar archivos de LIB/tareas (tenía que crear este directorio, ya que no existía)

continuación rastrillo rieles: actualización funcionó muy bien

+0

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

+0

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

+0

ayuda a eliminar el picor. gracias ~~ – lkahtz

2

Si eres el desarrollador de un plugin, simplemente se movería

my_cool_plugin/tasks 

a

my_cool_plugin/lib/tasks 
Cuestiones relacionadas