2013-04-07 3 views
1

다음과 같이 레일스 경로를 지정했습니다. 이 경로에서 GETPOST을 허용하려고하지만, 시도 할 때마다 #index 동작 만 허용하고 POST 요청시 #create 동작에는 액세스하지 않습니다.레일 API 라우팅 문제

match ':user_id/special_deals', to: 'special_deals#index' 

나는이 너무 시도했다 :

match ':user_id/special_deals', to: 'special_deals#index', :via => [:get, :post] 

나는 여러 사용자의 정보를 액세스 할 수있는 API에 접근 할 수있는 사람부터 먼저 지정하는 사용자 ID가 필요합니다.

답변

1

정확하게 묻는대로 작동합니다. create 행동에 라우팅에 당신이 POST을 원한다면 여기 경로 CONFIGS 있습니다 : 이러한를 작성하는 간단한 방법이 있습니다

match ':user_id/special_deals', to: 'special_deals#index', :via => [:get] 
match ':user_id/special_deals', to: 'special_deals#create', :via => [:post] 

하지만 난 당신이 쓴 같은 형식을 사용하고 싶었다. 그들에 대해 알고 싶다면 this guide을 확인하십시오.

GET /users/:user_id/special_deals #special_deals#index 
POST /users/:user_id/special_deals #special_deals#create 
:

resources :users do 
    resources :special_deals, :only => [:index, :create] 
end 

이 (가로 라우팅됩니다 #shows) 같은 special_deals에 대한 경로를 만들 것입니다 : 당신은 이미 User 컨트롤러가있는 경우, 당신은 같은 더 구조화 된 경로를 쓸 수

+0

완벽한! HungryCode 감사합니다. – ac360

+0

반갑습니다. – HungryCoder