Ruby on rails rails 4布线,删除默认段落

Ruby on rails rails 4布线,删除默认段落,ruby-on-rails,routing,ruby-on-rails-4,rails-routing,Ruby On Rails,Routing,Ruby On Rails 4,Rails Routing,我对rails 4的路由有一些问题。目前的路由是这样的 analytic_practiceday_path POST /analytics/:analytic_id/practiceday(.:format) analytics#practiceday analytic_practiceuser_path GET /analytics/:analytic_id/practiceuser(.:format) analytics#practiceuser 我想删除:分析

我对rails 4的路由有一些问题。目前的路由是这样的

  analytic_practiceday_path  POST    /analytics/:analytic_id/practiceday(.:format)   analytics#practiceday
  analytic_practiceuser_path GET     /analytics/:analytic_id/practiceuser(.:format) analytics#practiceuser
我想删除
:分析id
部分。所以看起来是这样的

  analytic_practiceday_path  POST    /analytics/practiceday  analytics#practiceday
  analytic_practiceuser_path GET     /analytics/practiceuser analytics#practiceuser
我现在的代码是

resources :analytics, :only =>"index" do
    post 'practiceday', to: "analytics#practiceday"
    get 'practiceuser', to: "analytics#practiceuser"
end
我知道可以明确声明

get '/analytic/practiceday', to: "analytics#practiceday", as: "analytic_practice_day"
但我有20~30条路线需要定义。如果有人能告诉我更好的方法,我将不胜感激

谢谢。

试试看

post 'practiceday', to: "analytics#practiceday", on: :collection
编辑:这将颠倒您的路线从分析路径到实践路径的语言顺序。我不知道这是否会破坏你的交易。如果是这样,您可能会被迫使用:as指定每条路线。

如何:

resources :analytics, only: :index do
  collection do
    post :practiceday
    get  :practiceuser
  end
end