2011-08-21 141 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都可以無縫地處理該系統目錄。