Dwie rzeczy trzeba zrobić:
1) Tworzenie danych Transformer
HICH pozwoli na korzystanie z pola wejściowego zamiast domyślnego rozwijaną do połączonego podmiotu.
Transformator danych zasadniczo przekształca dane wejściowe (w twoim przypadku ciąg znaków użytkownika) w rzeczywisty obiekt użytkownika, który można przechowywać z jednostką. Pozwoli Ci to zdefiniować pole wprowadzania zamiast domyślnego rozwijania do połączonego obiektu. Spójrz na the documentation, to całkiem proste.
2) Utwórz autouzupełniania Ajax
Można to zrobić przy użyciu dowolnej biblioteki chcesz (jQuery, Prototype etc.) po stronie klienta i po stronie serwera można obsłużyć to w swoim działaniu sterownika i odpowiedzi z obu JSON lub renderowany szablon. Istnieje wiele tutoriali na ten temat. Wynik Ajax może zawierać link do utworzenia nowego użytkownika, jeśli żaden nie zostanie znaleziony.
Transformator danych to jest to, na czym należy się skupić, i chciałbym, żeby to działało przed rozpoczęciem pracy nad interfejsem.