Rails 像 wordpress 的 page 一样使用 rails, route 该如何写呢

kingwkb · 2013年08月09日 · 最后由 kingwkb 回复于 2013年08月09日 · 2521 次阅读

有个 pages 表中有,name, slug, title, keyword, body...

这个 slug 就是访问这篇内容的 slug,要从根目录开始,可以是 help/page1 这样的 slug

请问 routes 里面如何写?

get 'help/:slug' => 'pages#show'
def show
  @page = Page.find_by_slug(params[:slug])
end

这样吧

help/page1 这个整体是 slug 字段里面的 #1 楼 @libuchao

我用了 2 种方法都不行


Page.all.each do |page|
  get page.slug => 'pages#show'
end


get '*url' => 'pages#show'

第一种找不的到 Page 第二种把所有 url 都定向到了 pages#show,即便是之前已经定义过的,我需要定义过的不走条 routes

#3 楼 @kingwkb 用第二种,不过把这条放在 routes 最后面

#4 楼 @doitian 我没看明白这个 *url 是什么意思?我放最后面试试

* 就是所有的 path 都匹配到 pages#show

#6 楼 @tumayun 恩,了解,谢谢

需要 登录 后方可回复, 如果你还没有账号请 注册新账号