2011-08-31 3 views
1

저는 스캐 폴드 생성기로 만든 표준 라우트가있는 Doc 클래스가 있습니다. 코드에서 나는 사용한다.레일 3 통합 테스트 mangles (모델) _path (@instance) 도우미

docs_path(@doc) # => /docs/7 

잘 작동한다. 내 통합 테스트에서

내가 사용

get docs_path(@doc) #=> /docs.7 

전혀 잘 작동하지 않는.

레일 모델의 표준 라우트를 사용하는 다른 컨트롤러와 동일합니다.

사용 : 코드가 잘 작동 통합 테스트

get "/docs/7" 

하지만 나는 그것이 '_path'또는 '_url'도우미를 사용하여 페이지를 처리 ​​할 때, 그때는 비슷한 방법으로 사람들을 미치게, 오류가 발생합니다.

참고 :이 코드는 개발 환경에서 랩톱의 실제 페이지를 열 때 올바르게 작동합니다.

: 테스트를 작성하여 옳은 일을하려고 할 때 매우 실망스럽고 테스트에서는 일반적인 환경에는없는 버그를 소개합니다. 그걸 어떻게 처리합니까 ???

레일 사용 3.0.8.

여기 왜이 일을한다 rake.routes

docs  GET  /docs(.:format)   {:action=>"index", :controller=>"docs"} 
      POST  /docs(.:format)   {:action=>"create", :controller=>"docs"} 
new_doc  GET  /docs/new(.:format)  {:action=>"new", :controller=>"docs"} 
edit_doc GET  /docs/:id/edit(.:format) {:action=>"edit", :controller=>"docs"} 
doc   GET  /docs/:id(.:format)  {:action=>"show", :controller=>"docs"} 
      PUT  /docs/:id(.:format)  {:action=>"update", :controller=>"docs"} 
      DELETE /docs/:id(.:format)  {:action=>"destroy", :controller=>"docs"} 

에서 관련 라인은 무엇입니까? 고칠 수 있을까요?

답변

2

"표준"경로는 단 하나의 경로 인 doc_path이라는 것입니다. docs_path을 사용 중입니다. 특정 문서에 링크하고 그 목록을 가져올 때 복수형을 사용하려면 단수 이름을 사용하십시오.

+0

그게 전부 야. 고마워. – CHsurfer