:id 这适用于 View 中的链-6ren">
gpt4 book ai didi

ruby-on-rails-3 - Rails 将路由与 slugs 匹配,而无需在链接中使用 ID

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

在我的路由文件中,我可以轻松地将一个看起来像这样的匹配组合在一起并且工作得很好

match '/:slug/:id' => "pages#show", :id => :id

这适用于 View 中的链接是
link_to n.name, "/" + n.slug + "/" + n.id.to_s

我宁愿不在 URL 中包含 ID 号,所以我希望做一些类似的事情
match '/:slug' => "pages#show", :slug => :slug

但问题是这没有为页面显示 Controller 提供 id。是否有某种方法可以使用 :slug 将其与数据库中的页面匹配以查找 :id 以便我可以将 :id 传递给 Controller ​​?

最佳答案

在你的 route 使用这个

match "/:slug" => "pages#show"

并在您的 Controller 中使用这个通过 slug 找到页面
@page = Page.find_by_slug(params[:slug])

关于ruby-on-rails-3 - Rails 将路由与 slugs 匹配,而无需在链接中使用 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11355220/

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