加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – Rails匹配带有slug的路由,而不使用链接中的I

发布时间:2020-12-17 03:38:39 所属栏目:百科 来源:网络整理
导读:在我的路线文件中,我可以很容易地组合一个看起来像这样的匹配并且工作得很好 match '/:slug/:id' = "pages#show",:id = :id 视图中的链接是这样的 link_to n.name,"/" + n.slug + "/" + n.id.to_s 我宁愿不在URL中包含ID号,所以我希望做类似的事情 match '/:
在我的路线文件中,我可以很容易地组合一个看起来像这样的匹配并且工作得很好

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

视图中的链接是这样的

link_to n.name,"/" + n.slug + "/" + n.id.to_s

我宁愿不在URL中包含ID号,所以我希望做类似的事情

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

但问题是这并没有向显示控制器的页面提供id.有没有办法使用:slug将它与数据库中的页面匹配,使用此slug查找:id所以我可以将:id传递给控制器???

解决方法

在您的路线中使用此

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

在你的控制器中使用slug找到页面

@page = Page.find_by_slug(params[:slug])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读