我如何从Rails Console运行Controller Action,但是设置request.shot?

问题描述 投票:1回答:1

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

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

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

[我还看到了an answer,其中提到了使用“ ActionController :: TestProcess”,据我所知,它已从Rails中删除(或者如果没有,我还没有找到如何包含它的方法)]

还有其他选择吗?

谢谢!丹尼尔

ruby-on-rails-3 rails-routing rails-console
1个回答
4
投票

我刚刚在控制台上验证了它(撬)

# 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"
© www.soinside.com 2019 - 2024. All rights reserved.