1

別の URL に応答する必要があるアプリがあります。Nginx を使用していて、ホストの環境変数を設定したいのですが、設定方法やコントローラーでその環境変数を取得する方法がわかりません。例えばこんなものが欲しい…

http://sillyname.com/page_name/home

nginx は ENV['HOST'] = $host を設定します

Rails はページ コントローラ アクション => 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 変数にアクセスしてデータベースを正しくクエリするにはどうすればよいですか?

4

1 に答える 1

2

requestコントローラーのオブジェクトから情報を取得できるはずです。具体的に確認してください:

request.host

または調査する

request.env
于 2012-08-05T18:17:05.610 に答える