1

我正在开发一个多租户应用程序,因此几乎所有内容(从路由开始)都希望有一个看起来像“tenant_id.myapp.com”的“request.host”。

我正在尝试从 Rails 控制台运行控制器操作,但我无法弄清楚这一点。

最简单的事情似乎是“app.get”,但我不知道如何设置主机。

我还看到一个提到使用“ActionController::TestProcess”的答案,据我所知,它已从 Rails 中删除(或者如果没有,我还没有找到如何包含它)

还有其他选择吗?

谢谢!
丹尼尔

4

1 回答 1

4

我刚刚在我的控制台中验证了它(Pry)

# Send request with fake HTTP_HOST
>>app.get(app.root_path, nil, {"HTTP_HOST" => "123.myapp.com"})
>>#=>200

# Then check if it works
>>app.request.env
>>#...
>># "HTTP_HOST" : "123.myapp.com"
于 2013-04-15T14:15:36.320 回答