gpt4 book ai didi

elixir - web/router.ex 中嵌套作用域定义的行为

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

文档根本没有提到这一点。是否允许嵌套范围定义,如果允许,web/router.ex 中以下内容的定义行为是什么:

scope "/:locale", MyApp do
pipe_through [:browser, :locale]

scope "/auth", MyApp do
pipe_through [:auth]

get "/", PageController, :dummy
end

get "/", PageController, :dummy
end

管道链,即/:locale/auth 请求路由是否通过 :browser、:locale 和 :auth?有什么问题吗?

最佳答案

是的,允许定义范围,管道由嵌套范围继承。 Phoenix 仓库 contains tests for pipelines in nested scopes其中断言所有 pipe_through父作用域中的路由由子作用域中的路由继承。

scope "/browser" do
pipe_through :browser
get "/root", SampleController, :index

scope "/api" do
pipe_through :api
get "/root", SampleController, :index
end
end

# ...

test "invokes pipelines in a nested scope" do
conn = call(Router, :get, "/browser/api/root")
assert conn.private[:phoenix_pipelines] == [:browser, :api]
assert conn.assigns[:stack] == "api"
end

关于elixir - web/router.ex 中嵌套作用域定义的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42813785/

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