Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RailsTestPractices-过度使用路线自定义_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails RailsTestPractices-过度使用路线自定义

Ruby on rails RailsTestPractices-过度使用路线自定义,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,首先,这不是一个关于最佳实践的问题,我知道你不喜欢这样。请先阅读我的问题 我正在使用gemrails\u最佳实践来检测我的项目中的一些错误实践。最近,我有几个过度使用的路线定制 我的路线如下所示: resources :projects do collection do get :featured get :computed get :static get :blocked end def featured @projects = Project.f

首先,这不是一个关于最佳实践的问题,我知道你不喜欢这样。请先阅读我的问题

我正在使用gemrails\u最佳实践来检测我的项目中的一些错误实践。最近,我有几个过度使用的路线定制

我的路线如下所示:

resources :projects do
  collection do
    get :featured
    get :computed
    get :static
    get :blocked
  end
def featured
  @projects = Project.featured.paginate(...)
end
链接到这些路由的操作只是具有状态范围的特定索引,如下所示:

resources :projects do
  collection do
    get :featured
    get :computed
    get :static
    get :blocked
  end
def featured
  @projects = Project.featured.paginate(...)
end
我使用这些路由来创建漂亮的URL,比如/projects/featured,而不是/projects/?state=featured


我的问题是如何将这些当前路由更改为与漂亮的URL具有相同的行为?

将其添加到故事资源之前

get '/projects/:state', to: 'projects#index', constraints: { state: /featured|computed|static|blocked/ }
或内部:

collection do
  get '/projects/:state', to: 'projects#index', constraints: { state: /featured|computed|static|blocked/ }
end