2

現在、Powを使用して Rails アプリを管理しており、.dev と .test の両方を実行しています。.test ドメインをセットアップして、開発データベースの代わりにテスト データベースを使用する方法を考えていました。

基本的に、appname.dev に開発環境をロードし、appname.test にテスト環境をロードすることはできますか?

4

1 に答える 1

1

この Gistのバリエーションを使用して、アクセスされているドメインを特定し、それ以降、それに応じて Rails アプリを動作させることができる場合があります。

Application Controller に before_filter を追加します。session[:site]これは、開発環境かテスト環境かに応じて設定されます (どちらsite=developmentかを渡すかsite=testing、標準の Rails サーバーからも渡すオプションがあります)。

上にリンクされた要点の関連する抜粋は次のとおりです。

session[:site] = case request.domain
  when "appname.dev" then "development"
  when "appname.test" then "testing"
  else ENV['site'] || "development"
end

Rails アプリの残りの部分は、 の値に従って動作しますsession[:site]。マルチサイト Rails アプリについては、こちらにも少し詳しく書いています。

于 2012-06-13T02:28:31.027 に答える