用戶上傳文件時。在Rails 3.0+中,這些將會公開/上傳。在3.1中,上傳的文件應該轉到app/assets/uploads嗎?還是仍然公開/上傳?上傳的文件應該存儲在Rails 3.1中?
由於我們使用S3,所以在我們的環境中這不是真正的問題。試圖理解Rails 3.1的新目錄結構。
你的想法是什麼?
用戶上傳文件時。在Rails 3.0+中,這些將會公開/上傳。在3.1中,上傳的文件應該轉到app/assets/uploads嗎?還是仍然公開/上傳?上傳的文件應該存儲在Rails 3.1中?
由於我們使用S3,所以在我們的環境中這不是真正的問題。試圖理解Rails 3.1的新目錄結構。
你的想法是什麼?
公共目錄,Capistrano的建議公共/系統/
不要被應用程序/資產目錄混淆,它通常是對CSS/JS/CoffeeScript的文件,認爲這是從3.0到3.1
那麼,答案很簡單:您的用戶只能訪問您的/public
目錄。
只有一些技巧可以獲得css
和js
,但是您必須堅持使用/public
作爲其他材料。
一般情況下,我把所有的東西在/public/assets
添加到apneadiving的回答最大的變化:
如果使用Carrierwave,臨時文件在系統的/ tmp目錄和上傳的文件是我n位於$ RAILS_ROOT/public下的子目錄,例如$ RAILS_ROOT /公/上傳/ YOUR-MODEL/...
在Rails 3.1的「資產」目錄意味着對JavaScript和CSS文件,以便鏈輪可以接他們那裏,讓他們不訪問直接通過「公共」目錄...
see: assets/javascripts/application.js and assets/stylesheets/application.css files
see: http://railscasts.com/episodes/265-rails-3-1-overview
的應用程序/資產目錄是CoffeeScript的文件(也不能公開訪問,所以不要把上傳的地方)
把上傳的文件中文件系統只有在你有一臺文件服務器或一臺網絡映射存儲器的情況下才能正常工作......我通常只是把這些文件在數據庫本身。
但是,正如vrsmn所說,不要使用資產,資產管道是爲了簡化css/js /應用程序映像。