2011-08-21 138 views
2

我正在使用Ruby on Rails 3.0.9,回形针和Capistrano宝石。当我在运行Ubuntu 10.04的VPS上部署我的应用程序(使用Capistrano)并尝试提交回形针附件时,它将无法工作。我知道问题与public目录的文件和文件夹权限有关(我在该目录中上传附件)。使用Capistrano进行部署:如何设置文件和文件夹权限?

所以,相反设置权限每次部署应用程序时手动的,我想编写一个Capistrano的方案,使设置这些权限在“自动”的方式我该怎么做?

我应该在本地计算机(运行Snow Leopard 10.6.7的Mac OS)中设置文件和文件夹权限,以便Capistrano能够正确部署和设置这些权限?或者,我应该在config/environments/production.rb文件中添加一些代码,如system "chmod -R 777 #{RAILS_ROOT}/public"

回答

3

您正在接近它错误。

我确定你想保留你的部署之间的附件,不是吗? 然后你的回形针附件应该在'共享'目录下,如日志,tmp,pids等...

如果你尊重Paperclip的默认位置:“:rails_root/public/system /:attachment /:id/:款式/:文件名”。 而你并没有用那个public/system目录破坏你的SVN或Git。

该解决方案与设置一次:deploy_to/shared/system目录一样简单,并具有您所需的权限。让Paperclip和Capistrano都可以无缝地处理该系统目录。