2012-06-11 2 views
1

Play 2.0으로 들어가면 전반적으로 큰 물건이 날아갑니다.DRY 양식 구현

어쨌든 Play에서 어떻게 DRY 양식을 만들 수 있는지 궁금하십니까? Computer Database Sample에서 & 편집 예제를 보면 모양 요소가 반복되는 것을 볼 수 있습니다. 샘플 폼에서 4 개의 필드 만 있으면 대단한 것은 아니지만 크고 복잡한 양식을 처리하거나 많은 CRUD 모델을 처리 할 때 복제가 더 큰 유지 관리 문제가됩니다.

바인딩 끝 (form.bindFromRequestform.fill(Foo))에서 구현은 만들기/편집 작업에 매우 유용합니다. 템플릿 레이어에 해당 솔루션이 있습니까?

답변

0

k는, 여기에 내가 가입을 처리하기 위해 함께했다 무엇을, 갱신 시나리오 :

// views.subscription.signup.scala.html 
@(_form: Form[com.company.model.Subscription], target: play.api.mvc.Call) 
@import helper._ 

@cart("Foobar Registration") { 
    <h1>Join Foobar Today!</h1> 
    @form(action = target, 'id -> "subscriptionForm", 'class -> "form-horizontal") { 
    @fields(_form) // include formfields 
    } 
} 

// views.subscription.fields.scala.html 
@(_form: Form[com.company.model.Subscription]) 
@import helper._ 

@inputText(field = _form("firstName"), '_label-> "First Name*", 'class-> "required") 
@inputText(field = _form("lastName"), '_label-> "Last Name*", 'class-> "required") 
.... 

그런 다음, 갱신, 단지 signup.scala.html와 같은 쉘을 만들 수 있지만 갱신 제목과 헤더 본문.

모든 공유 작성/편집 양식 상태에는 동일한 원칙이 적용됩니다.