我正在尝试制作一些静态页面,如团队、aboutUs、服务条款等。
我正试图制作一个控制器来处理静态页面,但我缺少一些专业知识。
以下是我所做的:
在routes.rb中,在结束之前,我添加了以下内容:
match "/:action" => "pages"
然后我制作了一个名为pages_controller.rb 的控制器
目前它是空的。我需要它做的是识别像/pages/team或pages/about_us这样的请求,并重定向到正确的静态页面。我该怎么做?
谢谢!
我就是这样做的:
match '/pages/:page' => "pages#page"
然后基于params[:page]
绘制不同的静态视图。这对我来说很好,对于静态页面数量较少的网站来说。
当然,你可以明确地命名你的路线:
match '/about-us' => "pages#about_us"
然后在Pages控制器中为每个路由声明一个空方法:
def about_us
end
但我更喜欢第一种方式。
另一种可能的方法是将这样的东西放在路线的底部:
map.connect'*path',:controller=>'您的单个控制器名称',:action=>'显示'
*path基本上是说要拾取上面的路由声明中没有包含的任何内容。
我很确定:action=>"show"表示完全跳过控制器(因此不需要空的控制器方法),只在与控制器相同的路径中呈现具有相同名称的模板。
我甚至让它与分支机构合作。。。
例如,app/views/your single controller name/some-new-subdir/foo.html.erb会找到与路由匹配的路径:
http://example.com/some-new-subdir/foo