0

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

  analytic_practiceday_path  POST    /analytics/:analytic_id/practiceday(.:format)   analytics#practiceday
  analytic_practiceuser_path GET     /analytics/:analytic_id/practiceuser(.:format) analytics#practiceuser

我想:analytic_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 条路线要定义。如果有人能告诉我更好的方法,我将不胜感激。

谢谢。

4

2 回答 2

1

尝试

post 'practiceday', to: "analytics#practiceday", on: :collection

编辑:这会将您的路线的语言顺序从 analytic_practiceday_path 反转到 practiceday_analytic_path。我不知道这对你来说是不是一个交易破坏者。如果是这样,您可能会被迫使用 :as 指定每条路由。

于 2013-10-09T15:21:16.683 回答
1

怎么样 :

resources :analytics, only: :index do
  collection do
    post :practiceday
    get  :practiceuser
  end
end
于 2013-10-09T15:27:25.873 回答