2009-04-21 1 views
0

관리자 제어판을 사용하여 레일 웹 앱을 제작하려고합니다. 제어판에서 사용자, 프로젝트, 작업 등을 제어하기 위해 탭 인터페이스를 사용하고 싶습니다. jQuery 탭 UI 컨트롤을 사용하여 탭간에 전환하고 싶습니다. 또한 사용자를위한 편안한 인증과 프로젝트, 작업 등을위한 내 자신의 코드를 사용합니다.Ajax 탭과 유효성 검사가 포함 된 Rails 웹 응용 프로그램 제어판

여기 내 머리를 감쌀 수 없습니다. 일반적으로 각 탭마다 컨트롤러가 있으므로 유효성 검사는 간단합니다. 오류가있는 경우 (사용자에게 말하면) 객체와 함께 적절한 액션을 렌더링하면 에러가 발생하고 설정됩니다. 그러나, 내가 (탭 사이의 다른 컨트롤러에) 상쾌하지 않으면 어떻게 작동합니까? 모든 사용자, 프로젝트, 작업 유효성 검사 및 제어 (예 : 거친 작업)가있는 거대한 컨트롤러가 있어야합니까? 최고의 디자인이 아닌 것 같습니다.

아니면이 말이 등

희망을 확인하는 적절한 CRUD/오류에 대해 별도의 컨트롤러를 포함에 '관리자'컨트롤러를 사용할 수있는 몇 가지 방법은 무엇입니까?

답변

2

별도의 ajax 요청으로 각 탭의 내용을 호출하게합니다. 이것은 다음과 같은 장점 당신에게 줄 것

  • 이제 각 탭은 쉽게 다른보기/컨트롤러를 할 수 있습니다
  • 당신 만이 사용되는 탭의 내용을로드해야합니다; 사용자가 사용하지 않는 탭에 대해 코드를 처리하거나 HTML을 다운로드하지 않을 것입니다.

이 경로를 사용하지 않으려면 (즉, 한 번의 요청으로 페이지 다운로드시 탭의 모든 내용을로드해야한다고 생각하면) 헬퍼 메소드를 사용하여 코드를 분리 할 수 ​​있습니다. 부분. 내 대답보기 : Rails Sub-controllers?

+0

그래서 이것을 복잡하게 만들 수 있습니다. 내 실제 프로그램은 모달 div 팝업을 사용하여 새 사용자를 추가합니다. 관리자/색인 작업이 있다고 가정 해보십시오. 그런 다음 다른 컨트롤러 액션 (사용자/인덱스, 프로젝트/인덱스 등)에서 아약스로 각 탭을로드합니다. '사용자 추가'링크는 새 사용자 (/ users/new)를 추가하는 모달 div를 표시합니다. 새 사용자를 저장하는 중 오류가 발생하면 컨트롤러에 오류가있는 사용자 개체와 함께 render : action => 'new'를 원하지만 사용자 컨트롤러에 있습니다. – brad

+0

그래서 사용자/오류를 표시하는 모달 div 팝업과 함께 admin/index # users 섹션을 원합니다. 그래도 사용자 컨트롤러에서 admin 컨트롤러에 대한 작업을 렌더링 할 수 없습니다. 이게 말이 돼? 나는 필요한 오류로 사용자를 생성하는 상태로 돌아갈 방법을 모른다. – brad

+0

이것을 지우려면 관리자 컨트롤러를 떠나고 싶지 않다. 모든 크러스트 작업을 위임하고 싶다. 그것은 자신의 컨트롤러에서 벗어난 섹션이지만 컨트롤러를 직접 표시하고 싶지는 않습니다. 관리자 컨트롤러가 모든 것을 수행하기를 원합니다. 실제로 관리자 컨트롤러를 떠나지 않고 유효성을 검사하는 방법을 알아낼 수는 없습니다. – brad

0

개인적으로 양식에서 인라인 유효성 검사를 사용합니다. Jquery 그 꽤 well 않습니다,하지만 그걸로 당신을 도울 수있는 라이브러리가 많이 있습니다.

정확하게 당신이 찾고 있었던 것이 아니 겠지만, 당신의 일을 더 쉽게 만들어 줄 것입니다. 물론 아무도 유효성 검사를 우회 할 수 없도록 모델에서 유효성 검사를 계속하십시오. (방화 고리 또는 이와 유사한 것을 사용하십시오)