我有一個帶有嵌套映射列表的表單,但在模板中有迭代此問題的問題。該表看起來像這樣如何使用列表映射渲染表單
val assignmentForm : Form[AssignmentData] = Form(
"acceptedSign" -> nonEmptyText(),
mapping("activities" -> list (
mapping("activityId" -> optional(text),
"activityStatus" -> optional(text))
(ActivityData.apply)(ActivityData.unapply))
)(AssignmentData.apply)(AssignmentData.unapply)
)
我傳遞這種形式爲模板,並嘗試遍歷活動。到目前爲止,只有編譯器錯誤或Form的完整元數據轉儲纔是結果。
這給出了包含活動的完整表單的元數據+數據轉儲。 (該LI標籤是標籤導航將包含輸入字段)
@repeat(assignmentForm("activities")) { activity =>
<li>@activity("activityId")</li>
}
迭代排序作品(是代碼運行),但它是從用戶的角度來看完全無法使用。
我也嘗試過各種for循環,只給我的編譯器錯誤,說
value map is not a member of play.api.data.Field
我的問題是:
- 是它應該是可以構建這樣的形式,和它是如何完成的?
- 我有什麼其他選擇來渲染具有一對多關係的輸入表單?
我昨天張貼了這個問題:「HTTP://計算器。 com/q/12883589/185840「,並提出了一個基於元組的解決方案,你可以通過formA.zip(formB)時尚的嵌套形式重複 - 可能有幫助...但不知道你在這裏遇到什麼問題聽起來像表單正在製作中。你知道你需要做一些像@inputText(activity(「activityStatus」),'_label->「Activity Status」)來產生一個formfield,對嗎? – virtualeyes
你的解決方案似乎走上了我前進的道路,我會試試:)。關於我的問題中的輸入字段:由於應該生成導航選項卡(li元素)的迭代失敗,爲了簡潔起見,我留下了輸入。 – dagb
我發現渲染輸入字段完美。它只生成有問題的li元素。如何將表單字段的值用於此目的? – dagb