웹 사이트를 개발할 때 일반적인 상황은 여러 가지 다른 리소스를 나열하고 만드는 하나의 인덱스 작업을 수행하는 것입니다.웹 사이트의 다른 장소에서 컨트롤러 작업 재사용
예를 들어 비용이 자동 계산 된 지불 그룹 인 동일한 페이지에 지불 및 비용을 모두 나열하는 트랜잭션 컨트롤러가 있다고 가정 해 보겠습니다.
트랜잭션 인덱스 작업에는 새로운 비용 생성을위한 양식과 새 지불 생성을위한 양식이 있습니다. 이 두 가지 형식은 각각의 컨트롤러에 제출하여 작업을 생성합니다. 데이터가 유효하지 않은 경우 트랜잭션 # index로 리디렉션하고 오류 메시지를 표시해야합니다.
이 단지 일반적인 논의가 특정 문제와 관련이없는있다, 그래서 assumpt 할 수있는 작업은 다음과 같습니다
없음 AJAX는문제는 다른 컨트롤러에 데이터를 제출할 수 있지만 응답을 얻을 수 없다는 것입니다. 리디렉션 할 수는 있지만 데이터 및 유효성 검사 오류가 누적됩니다. 이것에 대한 몇 가지 'hackish'해결책이 있지만 이것을 간단하게하고 싶습니다.
이 문제를 해결하는 한 가지 방법은 트랜잭션 컨트롤러 (예 : create_expense 및 create_payment)에 특정 작업을 구현하는 것입니다. 그것은 작동하지만 코드 중복과 REST를 깨뜨릴 것이고 나는 그것을 좋아하지 않는다.
실제 질문은 웹 사이트의 다른 여러 곳에서 컨트롤러 작업을 어떻게 다시 사용할 수 있고 자연스러운 과정으로 느끼게 할 수 있습니까?
답변 해 주셔서 감사합니다. 리디렉션을 해결할 수는 있지만 유효성 검사를 완료하고 양식을 미리 채우는 것은 아닙니다. 나는 이미'redirect_to : back'을 플래시 경고와 함께 오류 메시지와 함께 사용하고 있지만, 폼을 지우고 평범한 방법으로 유효성 검사 메시지를 표시하지 않을 것입니다. 나는 더 우아한 뭔가를 찾고 있어요. –