2009-05-13 3 views
3

나는 많은 필드 (거의 40)를 가진 모델을 가지고있다. 클라이언트는 여러 화면으로 나뉘어 진 필드를 원합니다. 모델에는 동일한 모델의 일부인 것처럼 보이는 몇 개의 has_manys도 있습니다.레일, 하나의 모델, 많은 스크린

모델을 어떻게 나눌 수 있습니까? 그리고 모델 간의 상반 관계는 무엇입니까?

1)를 사용하여 자바 스크립트를 표시하고 양식의 일부를 숨길 수 :

나는 가능성의 몇 가지를 참조하십시오. 나는 그 하나의 작업을 할 수 있다고 생각합니다.

2) 다른 작업에 제출하는 양식을 사용하십시오. form_for를 적절한 옵션과 함께 사용할 수 있습니까?

다른 아이디어를 찾고 있습니다.

답변

2

체크 아웃 acts as state machine을 확인하십시오. 이것을 사용하여 마법사와 겹침을 만들 수 있습니다.

귀하의 질문을 다시 읽으면서, 나는 자바 스크립트가 실제로 당신이 찾고있는 것이라고 생각합니다. jQuery UI을 확인하면 탭 구성 요소가 도움이 될 것입니다.

+0

링크를 제공해 주셔서 감사합니다. 나는 상태 머신을 잘 알고 있지만 상태가 필요 없거나 특정 순서대로 진행할 필요가 없으므로 이것이 도움이되는 방법을 알지 못합니다. 또는 주 (state)가있는 경우 양식의 특정 부분을 페이지에서 가져 와서 올바르게 업데이트 할 수 있습니까? – Chris

+0

아마 나는이 질문을 오해했다. 단순히 항목을 표시하거나 숨기려고하면 Javascript가 좋습니다. 단일 양식의 내용을 여러 페이지로 나누려면 SSM을 사용하면 현재있는 페이지를 추적 할 수있을뿐만 아니라 페이지 이동을위한 메커니즘을 제공 할 수 있습니다. 귀하의 질문을 다시 읽고, 나는 자바 스크립트가 정말로 당신이 찾고있는 것 같아요. jQuery UI를 확인하십시오. 아마도 도움이 될 탭 구성 요소가 있습니다. –

+0

필자는 jQuery UI와 탭을 사용하기 시작했다.이 문제는 유용성이있을 수있다. 유효성 검사 오류가 발생한 사용자에게는 명확하지 않을 수있다. –

1

ActsAsWizard 플러그인을 확인합니다. 이와 같은 마법사를 매우 간단하게 만듭니다.

readme를 확인하십시오. 우수합니다.

+1

ActsAsWizard는 한 모델의 40 개 필드가 모델로 나뉘어 있어야한다는 것을 알아야합니다. 하나의 큰 모델을 구축하는 것이 아니라 마법사를 통해 객체와 그 관계에 대한 데이터 엔트리를 작성하는 것이 훨씬 더 효과적입니다. – srboisvert