Запуск системного вызова в rails вызывает ошибку - PullRequest
0 голосов
/ 10 ноября 2009

Когда я пытаюсь запустить следующий код:

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

Я получаю эту ошибку:

Permission denied - /tmp/billing.pdf

Я попытался запустить:

chmod +x /tmp

Но это не помогло.

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2009

Добавление этого системного вызова сначала решило проблему:

system("chmod +w @@temp_file_path")

По какой-то причине плагин rails pdf-writer генерирует файлы только для чтения. Может быть, у него есть варианты переопределить это. :)

0 голосов
/ 10 ноября 2009

Каковы разрешения для / tmp (вы можете найти это с помощью 'ls -ld / tmp')? Вы пытаетесь создать billing.pdf или изменить существующий файл?

Пользователь, выполняющий ваш процесс rails, вероятно, нуждается в привилегии записи в дополнение к привилегии выполнения (которую вы добавляли с помощью команды 'chmod + x'). Также, если в / tmp уже есть файл billing.pdf, он должен позволить пользователю rails читать или записывать его (что бы вы ни пытались сделать).

...