小编dag*_*agb的帖子

如何使用列表映射呈现表单

我有一个带有嵌套映射列表的表单,但在模板中迭代它时遇到问题.表格看起来像这样

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)
)
Run Code Online (Sandbox Code Playgroud)

我将此表单传递给模板并尝试迭代这些活动.到目前为止只有编译器错误或Form的完整元数据转储.

这给出了包含活动的完整表单的元数据+数据转储.(LI标签是一个包含输入字段的标签导航器)

@repeat(assignmentForm("activities")) { activity =>
                    <li>@activity("activityId")</li>
                    }
Run Code Online (Sandbox Code Playgroud)

迭代排序的工作(代码运行),但从用户的角度来看它完全无法使用.

我也试过各种for循环,只给我编译错误,说

value map is not a member of play.api.data.Field
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 是否应该可以构建这样一个表单,它是如何完成的?
  2. 我还有哪些其他选项来呈现具有一对多关系的输入表单?

scala playframework-2.0

6
推荐指数
1
解决办法
2123
查看次数

标签 统计

playframework-2.0 ×1

scala ×1