Что мне нужно, так это возможность быстро (СУХОЙ!) Создавать формы для заданных моделей, но менее контролируемым образом, чем при использовании форм / моделей 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}
Где 'object' - это не экземпляр "b" или "c", а "a", и я могу сказать #{crud.form /}
, какую модель он должен отобразить (в данном случае, 'b')
Есть ли способ добиться чего-то подобного?
Вопрос можно решить либо:
- есть ли простой
#{form MODEL} #{/form}
тег?!
или, будучи в состоянии как-то настроить больше CRUD, например.
- есть ли способ изменить основной модуль crud и переопределить только нужные методы (не копируя все это!)?
Боюсь, я не смогу достичь этой цели, просто переопределив модель CRUD-контроллера, возможно, я ошибаюсь, но помимо чтения кода CRUD (который я делаю), официальный документ немного ограничен в том, какие методы можно переопределить и как ...
Похожие: как создать html-форму для модели в игровой рамке
Я также только что нашел эту ветку gmail , которая, кажется, идет в направлении настройки. Я надеялся на более готовое решение для такой типичной потребности ...