Я пытаюсь использовать элемент "select" в Play! 2.3, и не может заставить его работать. Что я поставлю в шаблон? В настоящее время у меня есть:
public static Result add(Long sensorId) {
Form<Action> myForm = Form.form(Action.class);
Sensor sensor = Sensor.find.byId(sensorId);
Action action = new Action();
action.actionUp = true;
action.sensor = sensor;
myForm.fill(action);
HashMap<String, String> devices = new HashMap<>();
for(Device device : Device.find.all()){
devices.put(device.id.toString(), device.name);
}
return ok(editView.render(myForm, action, devices));
}
И шаблон:
@(myForm: Form[models.Action], action: models.Action, deviceList: HashMap[String, String])
@helper.select(myForm("device"), deviceList,'_label -> "Perform on device")
Но это не работает, так как ожидает Seq [(String, String)]. Я не могу найти способ создать это на Java, хотя... любая помощь очень ценится!
Помощник формы не будет знать, если вы прямо поместите список deviceList
в select
и, в конце концов, он ожидает от вас options
. В этом причина показывает, что эта ошибка expects a Seq[(String, String)]
.
Чтобы решить эту проблему, вы должны обернуть список deviceList
помощью options
чтобы хелпер знал, что deviceList
- это options
для select
.
Так что это должно быть похоже на следующее.
@helper.select(myForm("device"), options(deviceList),'_label -> "Perform on device")