Personalización avanzada de formularios CRUD y controladores en Play

Lo que estoy buscando es la capacidad de generar rápidamente (¡SECO!) Formularios para modelos dados, pero de una manera menos controlada que usando formularios / modelos CRUD; por ejemplo, al poder usar etiquetas crud sin los controladores / rutas completos de crud, o al personalizarlas fuertemente.

Déjame explicarte a través de un ejemplo.

Tengo un modelo A que enlaza (ManyToOne) a 2 modelos, B y C

class public A extends Model {
    public String name;
    @ManyToOne
    public A a;
    @ManyToOne
    public B b;
}

Me gustaría poder escribir las siguientes rutas:

/A/{id}/B/               somecontroller
/A/{id}/C/               some(other?)controller

o mejor

/A/{id}/{submodel}/      somecontroller

Y en la vista html correspondiente, puede hacer algo como:

<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}

Where 'object' no es la instancia "b" o "c", sino "a", y puedo decir#{crud.form /} qué modelo debe mapear (en este caso, 'b')

¿Hay alguna forma de lograr algo similar?

La pregunta podría resolverse:

hay alguna @ simp#{form MODEL} #{/form} etiqueta?!

o, al poder personalizar de alguna manera más el CRUD, por ejemplo.

¿Hay alguna manera de modificar el módulo de crud principal y anular solo los métodos deseados (sin copiarlo todo?)

Me temo que no puedo lograr este objetivo simplemente anulando un modelo de controlador CRUD, tal vez me equivoque, pero además de leer el código CRUD (que estoy haciendo), el documento oficial está un poco limitado sobre qué métodos pueden ser anulado y cómo ...

Relacionado:how para crear un formulario html para un modelo en playframework

También acabo de encontrareste hilo de correo de google que parece ir en la dirección de personalizar-crud. Esperaba una solución más lista para usar para una necesidad tan típica ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta