2011-08-04 2 views
8

나는 여기 뭔가 간단한 것을 누락 된 것처럼 느낍니다. form_for 도우미를 객체와 함께 사용하고 있습니다. url, format 및 html 메서드를 지정합니다. 그러나 렌더링 할 때 action 속성의 url은 형식을 선택하지 않습니다. 내 코드는 다음과 같습니다.url, format 및 html 옵션이있는 Form_for

=form_for(@site, url: compile_documents_path(@site), format: :csv, html: { method: :post}) do |f| 

내 컨트롤러가 CSV 형식에 응답하도록 설정되어 있고 단순히 사이트 개체에서 to_csv 메서드를 호출합니다.

예상대로 작동하지 않는 이유에 대한 아이디어.

답변

22

테스트되지 않은,하지만 난 포맷 부분은 URL을 도우미로 가야한다고 생각 :

=form_for(@site, url: compile_documents_path(@site, format: :csv)) do |f| 

플러스 : 나는 당신이 PUT를 사용하는 경우는 form_for 결정 바와 같이, method: :post 부분을 지정해야합니다 생각하지 않는다 @site가 새 레코드인지 기존 레코드인지에 따라 POST입니다.

+0

트릭을 만들었습니다. 그 마음에 왔어,하지만 경로 파일에 의해 만들어진 동적 메서드에 대한 옵션에 대한 설명서가 있는지 확인하려고했습니다. 나는 단지 시험 할만큼 충분히 거칠은 사람이 아니라고 생각한다. – agmcleod