我正在使用 Ruby on Rails 3.0.9、Paperclip 和 Capistrano gems。当我在运行 Ubuntu 10.04 的 VPS 上部署应用程序(使用 Capistrano)时,我尝试提交回形针附件,但它不起作用。我知道问题与 public
目录的文件和文件夹权限有关(我在该目录中上传附加文件)。
因此,我不想在每次部署应用程序时手动设置权限,而是想编写一个 Capistrano 配方,以便以“自动”方式设置这些权限 。 我该怎么做?
我是否应该在本地计算机(运行 Snow Leopard 10.6.7 的 Mac OS)中设置文件和文件夹权限,以便 Capistrano 正确部署和设置这些权限?或者,我应该在 config/environments/development.rb
文件中添加一些代码,例如 system "chmod -R 777 #{RAILS_ROOT}/public"
吗?
最佳答案
你的做法是错误的。
我确定您希望在部署之间保留附件,不是吗? 那么你的回形针附件应该位于“共享”目录下,如日志、tmp、pids 等...
如果您尊重 Paperclip 默认位置:“:rails_root/public/system/:attachment/:id/:style/:filename”。 而且您不会用 public/system 目录破坏您的 SVN 或 Git。
解决方案非常简单,只需使用您所需的权限设置 :deploy_to/shared/system 目录即可。让 Paperclip 和 Capistrano 为您无缝处理该系统目录。
关于ruby-on-rails - 使用 Capistrano 进行部署 : How to set file and folder permissions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137820/