如何从应用程序中访问rails 3 app的环境变量?

时间:2012-08-05 18:05:31

标签: ruby-on-rails ruby-on-rails-3

我有一个需要回应不同网址的应用。我正在使用Nginx并想为主机设置环境变量,但我不知道如何设置它或在控制器中取回该env变量。例如,我想要这样的东西......

http://sillyname.com/page_name/home

nginx设置ENV ['HOST'] = $ host

和rails路由到页面控制器action => show,params page_name =>家。然后在控制器中显示动作

def show
  @website = Website.find_by_host_name(ENV['HOST'])
  @page = @website.page.where("title",params[:page_name])
  ...
end

我的具体问题是:

  1. 我在nginx中使用哪个指令来设置此变量,或者它是否已在rails 3应用程序中访问?

  2. 如何在应用中访问ENV变量以正确查询数据库?

1 个答案:

答案 0 :(得分:2)

您应该能够从控制器中的request对象中获取信息。请具体检查:

request.host

或调查

request.env