Rails 3路由 - 如何使用根路由中的参数?

时间:2011-07-14 02:17:08

标签: ruby-on-rails ruby-on-rails-3 model-view-controller

我是Rails的新手,并且在我正在编写的小应用程序中遇到路线障碍 -

我想使用根路由将参数映射到特定的控制器 -

例如,假设我有一个控制器VariablePageController,它将根据URL中的参数呈现不同的内容。

因此,当有人访问我的网站时,mysite.com将转到主页,但mysite.com/ [pagename]将通过我的VariablePageController,但用户将留在mysite.com/ [pagename]而不是mysite .com / VariablePage / [pagename] -

变量[pagename]是动态生成的,所以我无法列出routes.rb中的所有可能性......

如何通过路由实现此效果?

2 个答案:

答案 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

我希望这可以帮助你