2016-06-14 1 views
0

기본적으로 redirect_to 메서드를 사용하여 PUT 컨트롤러 동작으로 리디렉션하려고하지만 GET 동사를 사용하려고합니다. redirect_to에 HTTP 동사를 지정하는 방법이 있습니까?Rails 4.2에서`PUT` 동사를 사용할 수 있습니까?

경로는 레이크 노선

resume_user PUT /users/:id/resume(.:format) users#resume 

같이 정의되며, I는 동일한 결과 No route matches [GET] "https://stackoverflow.com/users/5/resume"

  • redirect_to의 resume_user_url (@user)
  • redirect_to와 다음 모두 사용한 액션 : 'resume', 컨트롤러 : 'users', id : @ user.id
  • redirect_to 액션 : 'resume', 컨트롤러 : '사용자', 방법 : 'put', id : @ user.id

내가 잘못 사용했을 수도 있습니다. 감사 패트릭

답변

1

standard은 허용되지 않습니다. 상태가 307 인 리디렉션은 리디렉션을 따르는 경우 브라우저가 요청 방법을 변경하지 못하게하지만 특정 방법을 요청하는 메커니즘이 사용되지 않습니다.

+0

그 말이 맞습니다. 고마워요. HTTP 스펙을 완전히 보지 못했다. Rails 문제라고 생각했다. 흐름을 재평가 할 시간. – Patrick

-1

내가 링크 method: :post를 사용하여 시도했지만 내가 redirect_to 그것을 시도하지 않은

redirect_to resume_user_url(@user), method: :put 

보십시오.

+0

제안 해 주셔서 감사합니다.하지만 운이 좋지 않은 다른 시도였습니다. 당신은'link_to' 메쏘드로 작동하는 것이 맞지만 약간 다릅니다. – Patrick

관련 문제