2009-05-30 28 views
12

me gustaría aplicar el parche action_mailer se menciona en este hilo, pero nunca he aplicado un parche antes y no estoy seguro de cómo funcionan: https://rails.lighthouseapp.com/projects/8994/tickets/2263¿Cómo se aplica un parche al rubí en los rieles?

Mi acción anuncio publicitario joya está aquí:/opt/rubí -enterprise-1.8.6-20090421/lib/ruby ​​/ gems/1.8/gems/actionmailer-2.3.2

Supongo que tengo que ir a ese directorio y ejecutar el comando de parche ... algo como esto?

cd /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/gems/ 
wget https://rails.lighthouseapp.com/attachments/108548/0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 
patch < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 

Una cosa que no estoy muy claro en que es también el archivo de revisión se refiere al directorio "actionmailer" pero la mía se llama "actionmailer-2.3.2"

Respuesta

11

Por lo general, no quieren parchear la fuente de la gema en sí. Es probable que desee congelar las gemas en ${RAILS_ROOT}/vendor/rails, y luego aplicar el parche localmente.

Desde el $ {} RAILS_ROOT dir, volcar todos sus carriles gemas en proveedores/rieles

rake rails:freeze:gems 

aplicar el parche

cd vendor/rails/ 
    patch -p1 < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 
+0

Hola Micholson, gracias por la respuesta. Estoy de acuerdo en que normalmente querrías pagarlos, pero debido a la naturaleza de este error, me gustaría tenerlo reparado en todas mis aplicaciones de rieles (y con suerte no revisar un montón más de archivos en control de versiones). Sin embargo, podría obtenerlo solo de lo que has escrito: después de leer no la opción -p, el problema del directorio tiene más sentido: http://linux.die.net/man/1/patch ¡Salud! –

7

respuesta de Micholson por encima de las obras. Pero para parchear el tesoro real para todas las aplicaciones de rieles (ver mi comentario sobre su respuesta) esto funcionó:

cd /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/gems/actionmailer-2.3.2 
wget sudo wget https://rails.lighthouseapp.com/attachments/108548/0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 
sudo patch -p2 < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 
sudo rm 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 

descubrí también se puede revertir con un parche -R si algo va mal. Me sorprende que este proceso no esté mejor documentado en alguna parte. Afortunadamente, esto aparecerá en las búsquedas de Google para personas nuevas en la aplicación de parches como yo.

+1

¡Apareció para mí! Y te agradezco –

Cuestiones relacionadas