2013-05-17 3 views
0

양식에서 Ajax를 성공적으로 사용하고 있지만 작성 작업 후에 가장 좋은 방법은 무엇인지 알 수 없습니까?작성 후 Ajax 리다이렉트?

나는 respond_with를 사용하고 있으며 Ajax 호출에서 같은 논리를 사용하기 위해 create.js 파일은 모든 것이 정상일 때 부분적으로 표시되어야하며 잘못되었을 때 오류 데이터가 부분적으로 표시되어야한다. 같은 경우 쇼 및 새 작업은 다소 복잡하며 부분에 사용되는 변수 집합을 정의합니다. 즉, create.js 파일에서 부분을 표시 할 수 있으려면 create 액션에서 변수를 정의하는 코드를 반복해야합니다.

좋은 연습이 아니며 Ajax를 올바르게 사용하지 않을 것으로 판단됩니다. Ajax 호출 후 리디렉션을 시도해서는 안된다는 것을 알았지 만 내 문제를 해결하는 create.js 파일의 예제를 찾지 못했습니다.

내가 수행 중이거나 더 나은 방법으로 수행하는 것이 좋습니다. Ajax를 사용하여 create 액션의 출력을 처리하는 방법?

답변

0

내가 올바르게 이해했다면 오류가있는 경우 모든 양식을 "새로 작성"하고 싶습니다.

사용자가 입력 한 데이터를 사용하여 새 양식이 이미 화면에 나타나므로 그렇게해서는 안됩니다. 당신은 아약스 응답에서 오류 만 차단할 수 있습니다.

+0

그 문제를 해결하는 OK - 레일에서 오류 도우미를 사용하여이를 수행 할 수 있습니까? – Hans

+0

다른 문제는 어떻습니까? 쇼 부분을 렌더링해야합니까 – Hans

+0

create.js.erb와 errors.js.erb의 두 js.erb 파일을 만들 수 있습니다. 같은 첫 번째 장소에서 떨어지게 : $ ('# 쇼') HTML ('<% = escape_javascript (렌더링 (: 일부 =>'show_new ')) %>.'); . 초 : $ ('#의 ERROR_EXPLANATION') HTML ('<% = escape_javascript (렌더링 (: 일부 =>' ')) %>'를 error_messages); 물론 부분 이름과 DOM ID의 이름을 사용자 이름으로 바꿉니다. 그러나 논리가 그럴 수 있습니다. – Parandroid