Расширенная настройка форм CRUD и контроллеров в Play
Что я ищу, так это способность быстро (СУХОЙ!) Создавать формы для заданных моделей, но менее контролируемым образом, чем использование форм / моделей CRUD; например, благодаря возможности использовать теги crud без полных контроллеров / маршрутов crud или путем их строгой настройки.
Позвольте мне объяснить на примере.
У меня есть модель A, чем ссылки (ManyToOne) на 2 модели, B и C
class public A extends Model {
public String name;
@ManyToOne
public A a;
@ManyToOne
public B b;
}
Я хотел бы иметь возможность написать следующие маршруты:
/A/{id}/B/ somecontroller
/A/{id}/C/ some(other?)controller
или даже лучше:
/A/{id}/{submodel}/ somecontroller
И в соответствующем представлении html можно сделать что-то вроде:
<div>object.name</div>
#{form action:@save(object.b._key()), enctype:'multipart/form-data'}
#{crud.form object.b /}
<p class="crudButtons">
<input type="submit" name="_save" value="&{'crud.save', type.modelName}" />
<input type="submit" name="_saveAndContinue" value="&{'crud.saveAndContinue', type.modelName}" />
</p>
#{/form}
Где «объект» - это не экземпляр «b» или «c», а «a», и я могу сказать,#{crud.form /}
какую модель он должен отобразить (в данном случае, 'b')
Есть ли способ добиться чего-то подобного?
Вопрос может быть решен либо:
есть ли простой#{form MODEL} #{/form}
тег?!или, будучи в состоянии как-то настроить больше CRUD, например.
Есть ли способ изменить основной модуль Crud и переопределить только нужные методы (не копируя все это!)?Боюсь, что я не смогу достичь этой цели, просто переопределив модель CRUD-контроллера, возможно, я ошибаюсь, но помимо чтения кода CRUD (который я делаю), официальный документ немного ограничен тем, какие методы могут быть переопределены и как...
Связанный:Как создать HTML-форму для модели в Playframework
Я также только что нашелэта ветка гугл почты это, кажется, идет в направлении настройки подделки. Я надеялся на более готовое решение для такой типичной потребности ...