13

我想通過Google CDN加載jQuery UI(如果在生產環境中,並且在開發環境中)。所以在我的application.html.erb佈局中,我必須知道我是在生產還是在開發中。有我可以檢查的變量嗎?如何檢查Rails中ERB文件的開發或生產?

回答

28

要擴大Paritosh的答案,Rails.env.production?Rails.env.development?將根據您使用的環境返回true/false。

這些方法在ActiveSupport模塊的StringInquirer類中定義。看到他們here

+0

我在哪裏可以看到這些功能的來源?必須是一個元編程thing.any想法? – shajin

+1

是的。看看[這裏](https://github.com/rails/rails/blob/e20dd73df42d63b206d221e2258cc6dc7b1e6068/activesupport/lib/active_support/string_inquirer.rb)。 – Zajn

2

使用Rails.env,它會給你你正在努力的環境。

+1

謝謝,這就是我一直在尋找。它似乎返回一個StringInquirer。有沒有一種特別的方法可以查詢這個對象? –

+0

檢查@Zajn答案,它完全符合您的要求。 –

7

要即興關閉前面的回答,您可以範圍支票特定的環境,像這樣:

Rails.env.development? 

其中development?是要檢查環境的名稱。

而且別的東西,我傾向於做的是,如果我檢查多個環境中你可能想要做的事,如:

if %w(staging production).include?(Rails.env) 
    # do something 
end 
相關問題