0
Я хочу передать форму из вложенного контроллера в представление.Playframework load Form from inested Controller
Вот мои настройки:
app
|
--controllers
|
--appointment
|
-- Appointment.java
|
-- views
|
-- appointment
|
-- create.scala.html
Маршрут:
# Appointment
GET /appointment/create controllers.appointment.Appointment.create()
POST /appointment controllers.appointment.Appointment.validate()
Назначение Класс:
public class Appointment extends Controller {
public static Result create() {
List<Procedure> procedures = Procedure.find.all();
List<Employee> doctors = Employee.find.where().eq("role", "doctor").findList();
return ok(create.render(Form.form(CreateAppointment.class), procedures, doctors));
}
public static Result validate(){
Form<CreateAppointment> registerForm = Form.form(CreateAppointment.class).bindFromRequest();
return badRequest(create.render(registerForm));
}
public static Result edit(Integer id) {
return TODO;
}
public static Result delete(Integer id) {
return TODO;
}
public static Result all() {
return TODO;
}
public static class CreateAppointment {
public Date endDate;
public Date startDate;
public String reason;
public String validate() {
if (startDate.after(endDate))
return "End date must be after start Date";
return null;
}
}
}
create.scala.html
@(form: Form[controllers.appointment.routes.Appointment.CreateAppointment],procedures: List[Procedure],doctors: List[Employee])
<html>
<head> </head>
<body>
@helper.form(controllers.appointment.routes.Appointment.create) {
Проблема заключается здесь ->form: Form[__ROUTE___]
Проблема в том, я не знаю, как правильно пройти CrateAppointment.
Я пробовал:
controllers.appointment.routes.Appointment.CreateAppointment
Appointment.CreateAppointment
ppointment.Appointment.CreateAppointment
я получаю ошибку
[error] MyPath\app\views\appointment\create.scala.html:1: type CreateAppointment is not a member of controllers.appointment.ReverseAppointment
казалось нормально, но, [ошибка] C: \ Users \ User \ USI-SEM \ приложение \ вид \ назначение \ создать. scala.html: 0: type cr eate не является членом controller.appointment.ReverseAppointment [ошибка] C: \ Users \ User \ USI-SEM \ app \ views \ назначение \ create.scala.html: 1: type cr eate не является членом controller.prointment.ReverseAppointment [error] @ (form: Form [controllers.appointment.routes.Appointment.create], processur es: List [Procedure], doctor: List [Employee]) || измененная строка теперь '@ (form: Form [controllers.appointment.routes.Appointment.create], процедуры: Список [Процедура], врачи: Список [Сотрудник])' – q99
Попробуйте с подтверждением. –
он должен «съесть» внутренний класс формы, а не метод, но в любом случае это не работает – q99