2014-06-16 1 views
0

을 인식하지 모델의 도우미는 실제로 다음을 정의합니다.Rails3의 응용 프로그램은 다음과 같은 경로를 정의 정의 액션/경로

'http://' + @site.host + confirmed_product_path(@product) 

그러나 (이 체크 아웃 지불의 반환이 같은 외부 소스에서)이 페이지에 정보를 게시 할 때, 데이터는

[host]/products/2/confirmed 

에 그러나 오류가 반환 않습니다 :

Unknown action 
The action '2' could not be found for ProductsController 

'회원'항목이 id으로 인식되어 확인 작업을 생성 할 것으로 예상 했으므로 rake routes이 증명합니다.

+0

양식이 PUT이 아니라 POST를하고 있는지 확인하십시오. 그렇지 않으면 경로가 일치하지 않습니다. – Jon

+0

좋은 생각 나는 put으로 데이터 전송을 추측하고 있었다. 이제 경로가 변경되고 작동 함 – Jerome

+0

내 의견을 답장으로 옮깁니다;) – Jon

답변

1

render 'foo'를 작성 아닌 POST 할 수 있습니다.

3

URL이 정확하면 (도우미가 URL을 생성하는 경우 올바른 것으로 생각할 수 있지만) 어떻게 든 액세스 할 수 없으므로 항상 HTTP 동사를 확인하십시오.

또한 'http://' + @site.host + confirmed_product_path(@product)confirmed_product_url(@product) (끝에 _url에 유의하십시오.)으로 사용할 수 있습니다.

마지막은, render action: 'foo' 그렇지 않으면 경로가 늘 일치, 기본값으로 양식이 PUT을하고 있는지 확인

관련 문제