Ruby on rails 如何在Rails中的ERB文件中签入开发或生产?

Ruby on rails 如何在Rails中的ERB文件中签入开发或生产?,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,development-environment,production-environment,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,Development Environment,Production Environment,如果在生产中,我想通过Google CDN加载jQuery UI,如果在开发中,则通过本地加载。因此,在我的application.html.erb布局中,我必须知道我是在生产环境中还是在开发环境中。是否有可以检查的变量?使用Rails.env,它将为您提供您正在处理的环境。对Paritoh的答案进行一点扩展,Rails.env.production?和Rails.env.development?将根据您使用的环境返回true/false 这些方法在ActiveSupport模块的StringI

如果在生产中,我想通过Google CDN加载jQuery UI,如果在开发中,则通过本地加载。因此,在我的application.html.erb布局中,我必须知道我是在生产环境中还是在开发环境中。是否有可以检查的变量?

使用
Rails.env
,它将为您提供您正在处理的环境。

对Paritoh的答案进行一点扩展,
Rails.env.production?
Rails.env.development?
将根据您使用的环境返回true/false


这些方法在
ActiveSupport
模块的
StringInquirer
类中定义。查看它们。

要重复前面的答案,您可以将检查范围扩大到特定环境,如:

Rails.env.development?
其中
development?
是要检查的环境的名称

另外,如果我检查多个环境,您可能希望执行以下操作:

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

谢谢,这就是我要找的。它似乎返回一个StringInquirer。有没有一种特别的方法可以让我们查询这个对象?检查@Zajn-answer,它完全符合您的要求。我在哪里可以看到这些函数的来源?一定是元编程的东西。有什么想法吗?是的。看一看。