due cose che dovete fare:
1) Creare un Data Transformer
hich vi permetterà di utilizzare un campo di input al posto del menu a discesa di default per l'entità collegata.
Il trasformatore di dati trasforma sostanzialmente l'input (nel tuo caso una stringa del nome utente) nell'oggetto utente reale che è possibile memorizzare con la propria entità. Ti consente di definire un campo di input anziché il menu a discesa predefinito per l'entità collegata. Date un'occhiata a the documentation, è piuttosto semplice.
2) Creare il completamento automatico Ajax
Questo può essere fatto utilizzando qualsiasi libreria che si desidera (jQuery, Prototype, ecc) sul lato client e lato server a gestire questo nella vostra azione di controllo e risponde sia con JSON o un modello renderizzato. Ci sono un sacco di tutorial per questo là fuori. Il risultato Ajax potrebbe includere un collegamento per creare un nuovo utente, se non ne viene trovato nessuno.
Il Data Transformer è quello su cui è necessario concentrarsi e vorrei farlo funzionare prima di lavorare sull'interfaccia utente.