我目前正在使用Pow来管理我的 Rails 应用程序,并且 .dev 和 .test 都在运行。我想知道如何设置 .test 域以使用测试数据库而不是开发数据库。
基本上,我可以让 appname.dev 加载开发环境,而 appname.test 加载测试环境吗?
我目前正在使用Pow来管理我的 Rails 应用程序,并且 .dev 和 .test 都在运行。我想知道如何设置 .test 域以使用测试数据库而不是开发数据库。
基本上,我可以让 appname.dev 加载开发环境,而 appname.test 加载测试环境吗?
您可能可以使用此 Gist的变体来确定正在访问的域,并让 Rails 应用程序从那时起相应地运行。
您将在应用程序控制器上添加一个 before_filter,session[:site]
根据它是开发环境还是测试环境进行设置(也可以选择通过标准 Rails 服务器site=development
或site=testing
从标准 Rails 服务器传递)。
以下是我认为上面链接的 Gist 的相关摘录:
session[:site] = case request.domain
when "appname.dev" then "development"
when "appname.test" then "testing"
else ENV['site'] || "development"
end
Rails 应用程序的其余部分将根据session[:site]
. 我也在这里写了更多关于多站点 Rails 应用程序的内容。