gpt4 book ai didi

elixir - 在 Phoenix 中为 URL 创建查询字符串

转载 作者:行者123 更新时间:2023-12-02 00:45:58 25 4
gpt4 key购买 nike

在我的 Phoenix 应用程序中,我想向 URL 添加一个查询字符串:

some_cool_path(@conn, :index, "view-mode": "table")

我原以为它会生成类似 /some_cool?view-mode=table 的 URL,但它却抛出了一个异常:

protocol Phoenix.Param not implemented for ["view-mode": "table"]

我该如何解决?

最佳答案

要从关键字列表构建查询字符串,您可以使用 URI.encode_query/1 :

iex(1)> URI.encode_query("view-mode": "table")
"view-mode=table"

但这似乎不是这里的问题。如果您的路由有一些必需的参数,您需要在传递查询关键字列表之前指定所有这些参数。

例如:

  • 如果您的路由类似于 /users,您上面的代码就可以工作。
  • 但如果它有一个必需的参数,如/users/:id,您首先需要在为查询字符串指定关键字列表之前传递必需的参数。因此,为此,您应该这样调用:

    users_path(@conn, :show, @user.username, "view-mode": "table")

关于elixir - 在 Phoenix 中为 URL 创建查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43838267/

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