gpt4 book ai didi

ruby-on-rails - 在 rails 中制作漂亮的 url。更改/用户/到数据库字段

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

现在,我的网址被呈现为

/users/2/products

我知道我可以使用 friendly_id 让它呈现为

/users/username/products

但我不想这样。在我的数据库 User 中,有一个字段 role,其中包含 - workerjanitor 等条目.所以,我想要拥有

/users/2/products

作为

/worker/username/products or /janitor/username/products and so on..

我该怎么做?我可以使用 friendly_id 吗?

最佳答案

我不知道 friendly_id。我什至不能确定你在问什么,但有些东西告诉我你想要定义自定义路由。

添加自定义路由

在你的路由文件中,你可以添加

match "/worker/:username/products" => "users#show"

并在操作中检查 :username 参数变量。

if params[:username]
@user = User.find_by_name(params[:username])
else
@user = User.find(params[:id])
end

针对您的具体情况的路线

在你的例子中,你似乎想要在你的 route.rb 中使用这个:

match "/:role/:username/products" => "users#show"

在您的操作中使用参数:

User.where("role = '?' and username = '?', pararms[:role], params[:username]) 

该路由将使访问像 /worker/fotanus/products/ 这样的 URL 最终在带有 params[:role] = 的操作 User#show 中结束'worker'params[:username] = 'fotanus'

关于ruby-on-rails - 在 rails 中制作漂亮的 url。更改/用户/到数据库字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16364673/

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