gpt4 book ai didi

elixir - 在phoenix框架(elixir)中更改Url以接受字符串而不是id

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

我正在尝试在 phoenix 应用程序中实现永久链接。

目标是将 localhost:4000/products/1 更改为 localhost:4000/products/productname

我尝试在 permalinks implementation in rails 上关注 Ryan Bates 的剧集
但无法在 phoenix 中找到模型的 to_param 函数。

请帮忙。

最佳答案

不确定这是否是您所要求的,但您可以这样做:

浏览器堆栈中的 router.ex

get "/products/:product_name", ProductController, :get_product_by_name

product_controller.ex
def get_product_by_name(conn, %{"product_name" => product_name}) do
product = Repo.get_by(Product, name: product_name)
render(conn, "product_info.html", product)
end

如果您希望您的应用程序将基于名称的特定产品作为 html 页面返回,那么这应该就是您所需要的,自然您需要在模板/产品下有一个名为“product_info.html.eex”的 html 页面

关于elixir - 在phoenix框架(elixir)中更改Url以接受字符串而不是id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34570612/

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