我有一个叫做视频的控制器。我希望我的网址如下:
http://website/1
而不是:
http://website/videos/1
我还希望通过/videos/
(编辑,新建,销毁等)保持控制其内容的功能。基本上show
动作是唯一一个从root响应的动作。
有没有办法在不搞乱其他控制器的情况下做到这一点?
答案 0 :(得分:2)
只需添加/:id
路线即可链接至videos#show
:
get '/:id' => 'videos#show'
您需要将它放在路径文件的底部附近,以使其与/videos
之类的请求不匹配。
答案 1 :(得分:1)
您可以使用
为控制器创建所有RESTful路由,而不在路径中使用其名称资源:视频,路径:""
这将为视频控制器创建所有路径,例如(索引,新建,编辑,创建等)
如果你只想要一个特定的路线作为这个,那么你也可以传递它,如
资源:视频,路径:"",仅限:[:show]
这将只创建您想要的路径
并且不会影响任何其他控制器。