我真的是Scala的首发,所以请原谅我,如果我在这里傻了!
我正在使用play2.0 / Scala进行分配。
我想用不同的值(timeheetId here)和标签(两个日期值的连续)填充下拉列表。所以我这样做了。
@select(effortForm("timesheetId"),options(timesheets.map(aTimesheet=> aTimesheet.timesheetId.toString -> (aTimesheet.fromDate + " to " + aTimesheet.toDate))),'_label->"Choose Timesheet (*)")
但该页面的下拉列表中填充了相同的值(作为元组)和select选项下的选项标签。
重载方法值[apply]无法应用于(List [(java.lang.String,java.lang.String)])
我希望将此视为结果
<option value="1">Sun Apr 08 18:23:32 PDT 2012 to Sun Apr 08 18:23:32 PDT 2012</option>
请帮忙!
答案 0 :(得分:16)
试试这个:
@select(
effortForm("timesheetId"),
timesheets.map{ t =>
t.timesheetId.toString -> (t.fromDate + " to " + t.toDate)
},
'_label- > "Choose Timesheet (*)"
)
查看select的实现情况,看起来第二个参数应该是Seq[(String, String)]
,timesheets.map{ }
就是这种情况。
options(...)
提供了构造Seq[(String, String)]
的便捷方法,并且没有适用于此处的方法。
答案 1 :(得分:0)
您的播放安装附带的samples / java安装目录中有一个很好的示例。见“表格”。 SignUp - &gt;国家