在rails中运行系统调用会导致错误

时间:2009-11-09 21:54:44

标签: ruby-on-rails file pdf

当我尝试运行以下代码时:

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

我收到此错误:

Permission denied - /tmp/billing.pdf

我试过跑:

chmod +x /tmp

但这没有帮助。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

/ tmp的权限是什么(您可以使用'ls -ld / tmp'找到这个权限)?您是要创建billing.pdf还是修改现有文件?

除了执行权限(使用'chmod + x'命令添加)之外,执行rails进程的用户可能还需要写权限。此外,如果/ tmp中已有billing.pdf文件,则需要允许rails用户读取或写入(无论您尝试做什么)。

答案 1 :(得分:0)

首先添加此系统调用解决了问题:

system("chmod +w @@temp_file_path")

出于某种原因,rails pdf-writer插件会将文件生成为只读。 也许它有覆盖它的选项。 :)