我正在开发一个多租户应用程序,所以几乎所有内容(从路由开始)都希望有一个看起来像“tenant_id.myapp.com”的“request.host”。
我正在尝试从Rails控制台运行控制器操作,但我无法弄清楚这一点。
最简单的事情似乎是“app.get”,但我无法弄清楚如何设置主机。
我还看到an answer提到使用“ActionController :: TestProcess”,据我所知,已从Rails中删除(如果没有,我还没有找到如何包含它)
还有其他选择吗?
谢谢!
丹尼尔
答案 0 :(得分:3)
我刚刚在我的控制台(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"