gpt4 book ai didi

ruby-on-rails - 从中间件渲染 "internal"Rails Controller

转载 作者:行者123 更新时间:2023-12-02 03:25:05 26 4
gpt4 key购买 nike

我有一个 Rails 中间件堆栈,我有一个 ActionDispatch 之外的 MW。理想情况下,我想通过触发 内部 的 URL(无法通过通常的 URL 路由访问)来使用 ActionDispatch 呈现页面 - 类似于 Devise 呈现“身份验证失败”页面的方式。最好的办法是只按名称在应用程序中触发一个特定的 Controller 操作,然后返回它的渲染结果(甚至不用在路由中)。

执行此操作的标准现代方法是什么?

更新:

def call(env)
if user_from_env(env).free_accout?
InterestingPagesController.action(:how_to_signup).call(env)
else
@app.call(env)
end
end

最佳答案

您可以使用 controller.action 将 Controller 操作作为 Rack 端点返回,然后使用 endpoint.call() 或 endpoint[] 调用端点。

关于ruby-on-rails - 从中间件渲染 "internal"Rails Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30817088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com