2012-08-16 105 views
2

我認爲這會很簡單,但似乎無法弄清楚如何去做。將rails環境作爲變量

我在s3中存儲了一些圖像,並且想要在開發,測試或生產過程中保存項目時使用不同的存儲桶。

所以,我想我可以說

 
:storage => :s3, 
        :s3_credentials => ":rails_root/config/s3.yml", 
        :url => '/activities/:id/:style.:extension', 
        :path => 'activities/:id/:style.:extension', 
        :bucket => 'appName_:envirnment' 
當然

,我似乎無法找到如何說:環境。這必須作爲變量可用,不是嗎?

+0

您可以使用'ENV [「RAILS_ENV」]'或'Rails.env'。你也有一些可用的方法,比如'Rails.env.production?'。 – 2012-08-16 03:44:33

回答

2

它應該正常工作,只需將#{Rails.env}直接包含在:url和:路徑值中即可。對於開發和測試,每次加載類和加載時都會加載url和路徑值,這些值將在啓動時加載。所以只需包括它,它應該可以工作:

:bucket => "appName_#{Rails.env}"