Ruby Rails - 没有资源名称的路由

时间:2017-03-04 13:03:46

标签: ruby-on-rails ruby url-routing

我目前正在使用friendly_id,而我正试图让路由不包含资源名称。

通常,网址为www.website.com/projects/25

friendly_id www.website.com/projects/fun-project。这就是我现在所拥有的。

我最终希望它是www.website.com/fun-project

我发现this question有关此问题,但解决方案对我来说并不适用于一个案例。

//routes.rb
root 'static#index'
...
resources :projects, path: ''

执行resources :projects, path: ''时,projects#show工作正常,但我不能像以前一样使用projects#index

在我的导航中,用于链接到projects_path的{​​{1}}现在只链接到www.website.com/projects

我是否需要为此案做其他事情?

感谢。

2 个答案:

答案 0 :(得分:0)

您可以通过以下方式简单地使用get

get '/:project_id' => 'projects#show'

答案 1 :(得分:0)

到目前为止,我了解您希望以下URL到您的项目资源。 www.website.com/fun-project 这里有趣的项目'是你项目的友好ID。

为了实现这一目标,您可以在路线中添加以下行: get '/:id' => 'projects#show'

应该工作!