gpt4 book ai didi

elixir - 如何在链接中指定多个参数

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

我的 router.ex 中有这个:

resources "/games", GamesController do
get "/scores/:student_id", GameScoreController, :new
post "/scores/:student_id", GameScoreController, :create
end

现在我用以下方式调用它:
link(student.name, to: game_game_score_path(@conn, :new, @game, student_id: student))

但这会创建一个链接:/games/1/scores?student_id=1 而不是/games/1/scores/1。

我如何调用链接以生成正确的网址?

哦,有没有办法摆脱助手中的双重游戏?
我尝试添加为::game_score,但这并没有改变任何东西。

最佳答案

定义路由为:

resources "/games", GameController do
get "/scores/:student_id", ScoreController, :new
post "/scores/:student_id", ScoreController, :create
end

注意 Phoenix 中的所有内容都是单数,包括 Controller 名称。 URL 是复数形式,但它是外部的,它并不决定你的代码是如何组织的。

和 URL 助手:
link(student.name, to: game_game_score_path(@conn, :new, @game, student))

如果您希望 Controller 为 GameScoreController ,您可以通过 :as自定义生成的助手的选项。 Phoenix 文档中的更多信息: http://hexdocs.pm/phoenix/Phoenix.Router.html#resources/4

关于elixir - 如何在链接中指定多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32542357/

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