在rails中有一种方法可以创建一个没有子文件夹的URL

时间:2014-10-06 07:03:58

标签: ruby-on-rails controllers

我想知道是否有办法让rails应用程序在没有控制器路径的情况下工作。

通常某些路径可能是
www.mysite.com/event/slug
www.mysite.com/event/this_is_the_first_event_slug
www.mysite.com/event/another_slug_here

我想知道是否有办法(在轨道范例内)从主路径创建页面
例如
www.mysite.com/slug
www.mysite.com/this_is_the_first_event_slug
www.mysite.com/another_slug_here

我知道这是一件小事,但它让我有些烦恼,我想把它设置好。

2 个答案:

答案 0 :(得分:1)

您必须在routes.rb中定义另一条路线,也许它是您设置的最后一条规则之一,因为其他路线应首先匹配。

get 'event_:slug' => 'events#show'

show方法中,参数slug可以作为params[:slug]使用。

如果需要,可以从命令行使用rake routes验证规则。将新路由添加到routes.rb文件后,该命令将显示如下内容:

GET    /event_:slug(.:format)                 events#show

答案 1 :(得分:0)

是的,你可以。

<{1>}中的

,喜欢

routes.rb

是的。所以如果你输入浏览器说www.mysite.com/event_slug那么它肯定会考虑到路线模式。