我是Rails的新手,并且在我正在编写的小应用程序中遇到路线障碍 -
我想使用根路由将参数映射到特定的控制器 -
例如,假设我有一个控制器VariablePageController,它将根据URL中的参数呈现不同的内容。
因此,当有人访问我的网站时,mysite.com将转到主页,但mysite.com/ [pagename]将通过我的VariablePageController,但用户将留在mysite.com/ [pagename]而不是mysite .com / VariablePage / [pagename] -
变量[pagename]是动态生成的,所以我无法列出routes.rb中的所有可能性......
如何通过路由实现此效果?
答案 0 :(得分:3)
好吧,我找到了答案,对任何有兴趣的人......
我本来想要的,但我猜想没有好好描述,是基于URL根目录而不是/控制器/路由的“slug-style”或“友好”网址。
要完成此任务 - 在routes.rb中执行以下操作: 标准主页路线
root:to => “页#指数”
基于参数的归属路线
匹配':url'=> “页#秀”
答案 1 :(得分:1)
你可以做一个简单的命名路线,比如
match '/pagename' => "variablepage#pagename", :as => "pagename"
然后你的链接看起来如下
<%= link_to pagename, pagename_path %>
或
<%= link_to "pagename", pagename_path %>
之后在你的变量页控制器中你有
def pagename
.....
end
我希望这可以帮助你