如何将根请求路由到控制器?

时间:2017-02-18 15:41:53

标签: ruby-on-rails ruby-on-rails-5

我有一个叫做视频的控制器。我希望我的网址如下:

http://website/1

而不是:

http://website/videos/1

我还希望通过/videos/(编辑,新建,销毁等)保持控制其内容的功能。基本上show动作是唯一一个从root响应的动作。

有没有办法在不搞乱其他控制器的情况下做到这一点?

2 个答案:

答案 0 :(得分:2)

只需添加/:id路线即可链接至videos#show

get '/:id' => 'videos#show'

您需要将它放在路径文件的底部附近,以使其与/videos之类的请求不匹配。

答案 1 :(得分:1)

您可以使用

为控制器创建所有RESTful路由,而不在路径中使用其名称
  

资源:视频,路径:""

这将为视频控制器创建所有路径,例如(索引,新建,编辑,创建等)

如果你只想要一个特定的路线作为这个,那么你也可以传递它,如

  

资源:视频,路径:"",仅限:[:show]

这将只创建您想要的路径

http://website/1

并且不会影响任何其他控制器。