레일에 2 개의 버튼이있는 폼을 하나 만들고 싶습니다. 두 양식 모두 다른 방식으로 동일한 데이터에서 작동하므로 두 가지 방법으로 관련 기능을 유지하는 것이 좋습니다. 이전에는 params [: commit]에서 문자열 비교를 수행 한 후 적절한 방법으로 리디렉션되었지만 더 나은 방법이 있다고 말합니다. 제안?레일스에서 여러 가지 가능한 작업으로 하나의 양식을 만드는 방법은 무엇입니까?
1
A
답변
0
이미 양식에 params [: commit] 메서드를 사용했습니다. I18n 헬퍼를 사용하면 뷰와 컨트롤러에서 동일한 룩업을 사용할 수 있기 때문에 조금 약해져서 문자열이 약간 변하는 문제는 발생하지 않습니다.
게다가 자바 스크립트를 사용하여 버튼 클릭을 처리 한 다음 양식 데이터를 다른 레일스 액션으로 보낼 수 있습니다 (양식을 제출하기 전에 자바 스크립트로 HTML 액션 특성을 변경할 수 있음) .
0
prototype.js를 사용하는 경우 Form.serialize()를 사용하여 양식의 데이터를 가져 와서 다른 버튼을 사용하여 다른 작업에 게시 할 수 있습니다.
1
자바 스크립트를 사용하지 않고 유일한 해결책은 컨트롤러의 POST 데이터를보고 클릭 한 버튼을 확인하는 것입니다. 이것은 단순히 HTML 양식 요소의 특성 때문입니다. 액션 속성에 대해 하나 이상의 값을 가질 수 없습니다.
JavaScript를 사용할 수 없을 때 어떤 일이 발생할지 걱정하지 않는다면 실제로 제출하기 전에 제출 버튼 중 하나를 클릭하면 스크립트가 동작 속성을 변경하도록 작성할 수 있습니다. Ajax 요청의 경우 폼의 속성을 변경하지 않고 올바른 URL에 직접 제출할 수 있습니다.
대신 "myForm을"의<%= submit_tag('Insert', :onclick=>"document.myForm.action = 'insert';") %>
<%= submit_tag('Update', :onclick=>"document.myForm.action = 'update';") %>
당신이 당신의 태그의 "이름"속성에 무엇이든 둘 필요가 : 다른
2
두 개의 서로 다른 행동 양식을 보내 버튼을 제출합니다.
당신은 당신의 기본 형태로 그 속성을 설정할 수 있습니다:
<%= form_for(@something, :html => {:name => "myForm"}) do |f| %>
이 같은 태그
관련 문제
- 1. 여러 옵션으로 입력 양식을 만드는 방법은 무엇입니까?
- 2. 동적 양식을 만드는 방법은 무엇입니까?
- 3. 코코아 바인딩을 사용하여 재사용 가능한 양식을 만드는 방법은 무엇입니까?
- 4. 모델의 여러 항목을 입력하는 양식을 만드는 방법은 무엇입니까?
- 5. 하나의 양식에서 여러 모델에 중첩 된 양식을 사용하는 방법은 무엇입니까?
- 6. Hudson-CI에서 여러 가지 가능한 결과를 지정하는 방법은 무엇입니까?
- 7. 사용자가 ASP.NET에서 하나의 업로드 작업으로 여러 파일을 업로드하도록 허용하려면 어떻게합니까?
- 8. jQuery로 두 가지 양식을 제출하는 방법은 무엇입니까?
- 9. preg_match 하나의 정규식에서 여러 가지
- 10. Java로 인쇄 가능한 (및 저장 가능한) 양식을 생성하는 방법은 무엇입니까?
- 11. 거의 비슷한 모양으로 여러 양식을 디자인하는 방법은 무엇입니까?
- 12. 창/양식을 활성 전경으로 만드는 방법은 무엇입니까?
- 13. 설치 가능한 파일을 만드는 방법은 무엇입니까?
- 14. 하나의 엔티티 그룹에 엔티티를 만드는 방법은 무엇입니까?
- 15. 레일스에서 라디오 버튼이있는 게시물에 하나의 카테고리를 지정하는 방법은 무엇입니까?
- 16. 레일스에서 하나의 숫자에서 다른 숫자로 모든 객체를 찾는 방법은 무엇입니까?
- 17. 범위는 여러 가지 가능한 예외 사항을 기반으로합니까?
- 18. 예쁜 ASP.Net 양식을 만드는 방법은 무엇입니까?
- 19. iWeb에서 실시간 업데이트로 양식을 만드는 방법은 무엇입니까?
- 20. 활동의 인스턴스를 여러 개 만드는 방법은 무엇입니까?
- 21. 레일스에서 데이터베이스 필드를 읽기 전용으로 만드는 방법은 무엇입니까?
- 22. 레일스에서 두 번째 레벨 경로를 만드는 방법은 무엇입니까?
- 23. 하나의 입력 상자, 여러 가지 가능성 ... 레일에
- 24. 여러 질문을 만드는 방법은 무엇입니까?
- 25. 레일스에서 ID로 세션을로드하는 방법은 무엇입니까?
- 26. 한 페이지에 여러 양식을 처리하는 방법은 무엇입니까?
- 27. 한 페이지에서 여러 양식을 처리하는 방법은 무엇입니까?
- 28. 몇 가지 유사한 속성을 만드는 방법 하나의 일반적인 하나의 호출
- 29. sharepoint에서 단일 문서 라이브러리에 여러 infopath 양식을 업로드하는 방법은 무엇입니까?
- 30. GWT로 클릭 가능한 링크를 만드는 방법은 무엇입니까?