我有一个需要回应不同网址的应用。我正在使用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
我的具体问题是:
我在nginx中使用哪个指令来设置此变量,或者它是否已在rails 3应用程序中访问?
如何在应用中访问ENV变量以正确查询数据库?
答案 0 :(得分:2)
您应该能够从控制器中的request
对象中获取信息。请具体检查:
request.host
或调查
request.env