現在、Powを使用して Rails アプリを管理しており、.dev と .test の両方を実行しています。.test ドメインをセットアップして、開発データベースの代わりにテスト データベースを使用する方法を考えていました。
基本的に、appname.dev に開発環境をロードし、appname.test にテスト環境をロードすることはできますか?
現在、Powを使用して Rails アプリを管理しており、.dev と .test の両方を実行しています。.test ドメインをセットアップして、開発データベースの代わりにテスト データベースを使用する方法を考えていました。
基本的に、appname.dev に開発環境をロードし、appname.test にテスト環境をロードすることはできますか?
この 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 アプリについては、こちらにも少し詳しく書いています。