2013-10-09 2 views
0

레일 4 라우팅에 문제가 있습니다. 현재 라우팅은 다음과 같습니다.레일 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 

내 현재 코드 모양을하는 것은, 나는 명시 적으로 선언 할 수 있습니다 알고

get '/analytic/practiceday', to: "analytics#practiceday", as: "analytic_practice_day" 

resources :analytics, :only =>"index" do 
    post 'practiceday', to: "analytics#practiceday" 
    get 'practiceuser', to: "analytics#practiceuser" 
end 

이다 그러나 나는 될 20 ~ 30 루트가 한정된. 누구든지 저에게 더 나은 방법을 말해 주시면 감사하겠습니다.

감사합니다.

답변

1

방법에 대해 :

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

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

편집을 시도해보십시오이 practiceday_analytic_path하는 analytic_practiceday_path에서 경로의 언어 순서를 반대로합니다. 그게 당신을위한 거래 차단기인지 모르겠습니다. 그렇다면 다음을 사용하여 각 경로를 지정해야 할 수 있습니다.