2009-11-09 3 views
0

Lorsque je tente d'exécuter le code suivant:appel système de course dans des rails provoque une erreur

system("pdftk #{@@temp_file_path} output #{@@file_path} user_pw #{@@pass}") 

Je reçois cette erreur:

Permission denied - /tmp/billing.pdf 

I Tried en cours d'exécution:

chmod +x /tmp 

Mais ça n'a pas aidé.

Des suggestions?

+0

L'étape 1 est 'ls -lg/tmp/billing.pdf' – DigitalRoss

Répondre

0

L'ajout de cet appel système résolu le problème:

system("chmod +w @@temp_file_path") 

Pour une raison quelconque rails plug-in pdf-writer génère des fichiers en lecture seule. Peut-être qu'il a des options pour remplacer cela. :)

0

Quelles sont les permissions sur/tmp (vous pouvez le trouver avec 'ls -ld/tmp')? Essayez-vous de créer billing.pdf ou de modifier un fichier existant?

L'utilisateur exécutant votre processus de rails a probablement besoin de privilèges d'écriture en plus de l'exécution de privilèges (que vous étiez en train d'ajouter avec la commande 'chmod + x'). De plus, s'il y a déjà un fichier billing.pdf dans/tmp, il faudrait permettre à l'utilisateur des rails de le lire ou de l'écrire (quoi que vous essayiez de faire).

Questions connexes