2012-09-02 2 views
3

이상한 오류가 발생했습니다. 이건 벌레인지 모르겠다. 그러나 나는 결코 전에이 이상한 행동을 만난 적이 없다.Strange Rails 리소스 경로 동작

resources :mibs 

적절한 경로

하지 않습니다 : 더 ID의 PARAM 및 엉망 행동이 같은 시간에

시피

 watches POST /watches(.:format)       watches#create 
    new_watches GET /watches/new(.:format)      watches#new 
    edit_watches GET /watches/edit(.:format)     watches#edit 
       GET /watches(.:format)       watches#show 
       PUT /watches(.:format)       watches#update 
       DELETE /watches(.:format)       watches#destroy 

:

resource :watches 

는 이상한 라우팅 테이블을 만든다처음 두 개의 자원을 제외하고

 rockets POST /rockets(.:format)       rockets#create 
    new_rockets GET /rockets/new(.:format)      rockets#new 
    edit_rockets GET /rockets/edit(.:format)     rockets#edit 
       GET /rockets(.:format)       rockets#show 
       PUT /rockets(.:format)       rockets#update 
       DELETE /rockets(.:format)       rockets#destroy 

아무것도 (서버 및 MIB를)합니다

  mibs GET /mibs(.:format)       mibs#index 
       POST /mibs(.:format)       mibs#create 
     new_mib GET /mibs/new(.:format)      mibs#new 
     edit_mib GET /mibs/:id/edit(.:format)     mibs#edit 
      mib GET /mibs/:id(.:format)      mibs#show 
       PUT /mibs/:id(.:format)      mibs#update 
       DELETE /mibs/:id(.:format)      mibs#destroy 

나는 그 대신에 "시계"의 동일한 결과를 제공 어떻게 든 인플 문제,하지만 노력 "로켓"을 사용하여이 될 수있다 생각 그러한 결과.

라우팅 캐시가 어딘가에서 손상되었을 가능성이 있습니까?

답변

5

resource은 싱글 톤 리소스를 나타냅니다. 즉, 각 사용자에 대해 하나의 시계 만 있음을 알리면 ID를 전달하는 것이 쓸모 없게됩니다.

resources은 ID가 첨부 된 경로를 가져 오기위한 표준 호출입니다.

기본적으로 문제는 굴절 장치 문제이지만 resource 또는 resources은 경로 이름이 아닙니다. 자세한 내용은 Ruby on Rails routing guide을 확인하십시오. 싱글 톤 리소스와 일반적인 종류의 차이점을 설명하는 것은 훌륭한 일입니다.

+1

감사합니다. 그냥 anwser 자신을 발견했다. 나는 더 잘 것이 야 :) –

+1

놓치지 마세요. – Veraticus