将rails环境作为变量
问题描述:
我认为这会很简单,但似乎无法弄清楚如何去做。将rails环境作为变量
我在s3中存储了一些图像,并且想要在开发,测试或生产过程中保存项目时使用不同的存储桶。
所以,我想我可以说
:storage => :s3, :s3_credentials => ":rails_root/config/s3.yml", :url => '/activities/:id/:style.:extension', :path => 'activities/:id/:style.:extension', :bucket => 'appName_:envirnment'当然
,我似乎无法找到如何说:环境。这必须作为变量可用,不是吗?
答
它应该正常工作,只需将#{Rails.env}
直接包含在:url和:路径值中即可。对于开发和测试,每次加载类和加载时都会加载url和路径值,这些值将在启动时加载。所以只需包括它,它应该可以工作:
:bucket => "appName_#{Rails.env}"
您可以使用'ENV [“RAILS_ENV”]'或'Rails.env'。你也有一些可用的方法,比如'Rails.env.production?'。 – 2012-08-16 03:44:33