1

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

http://sillyname.com/page_name/home

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

和 rails 路由到页面控制器操作 => 显示,参数 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 变量以正确查询数据库?

4

1 回答 1

2

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

request.host

或调查

request.env
于 2012-08-05T18:17:05.610 回答