我在使用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条路线。如果有人能告诉我一个更好的方法,我将不胜感激。
感谢。
答案 0 :(得分:1)
尝试
post 'practiceday', to: "analytics#practiceday", on: :collection
编辑:这将颠倒您的路线的语言顺序,从analytic_practiceday_path到practvenay_analytic_path。我不知道这对你来说是不是一个破坏者。如果是这样,您可能被迫使用:as。
指定每条路线答案 1 :(得分:1)
怎么样:
resources :analytics, only: :index do
collection do
post :practiceday
get :practiceuser
end
end