2012-08-17 2 views
2

일부 필드와 기본 양식이있는 간단한 클라이언트 모델이 있습니다. 그것에 접근하는 URL은 /clients/new이며, 그 방법은 clients#new입니다. 내가해야 할 일은 리셀러에게 새로운 경로를 만들어 동일한 방법과 양식으로 이어 지지만 리셀러 이름과 같은 새로운 필드가있는 것입니다.레일 - URL을 기반으로 동일한 작업에 대해 다른 양식 표시

예 : /reseller/clients/newclients#new 방법으로 연결되고 new 양식의 새 입력란이있는 새 셀을 표시합니다.

URL을 확인하고 경로에 "reseller"이 있으면 세션을 설정하는 방법을 만들었습니다. 따라서 새 필드가 표시되거나 표시되지 않으면 셀에서 처리 할 수 ​​있습니다. 그러나 이것은 모델 검증과 관련된 문제로 이어지고 있습니다. 왜냐하면 새로운 필드가 뷰에 표시 될 경우 Theire의 존재는 true입니다. 적절한 유효성 검사를 만들기 위해 모델 내부 세션에 액세스해야하며 올바른 경로로 들리지 않습니다.

적절한 방법으로 목표를 달성하려면 어떻게해야합니까?

미리 감사드립니다.

+0

다른 경로와 컨트롤러로 나누는 것이 좋습니다. – Lichtamberg

답변

1

해결되었습니다.

이렇게하려면 Reseller이라는 새 모델을 만들었습니다. 그 모델 Clientaccepts_nested_attributes_for :reseller입니다. 이 방법으로 Reseller 모델의 셀에있는 폼을 렌더링하고 조건부 문의 필요없이이 필드 안에 모든 필드를 :presence => true으로 설정할 수 있습니다. URL에 "reseller"이 있으면 셀이 양식을 렌더링하고 유효성이 검사됩니다.

관련 문제