Строительные леса Grails с дружественным метки (вместо ключей идентификатора) для ассоциаций внешнего ключа

Я пытаюсь использовать Grails Scaffolding, чтобы быстро объединить приложение CRUD вокруг некоторых устаревших таблиц базы данных (см. этот предыдущий вопрос StackOverflow для саги до сих пор). Теперь у меня больше нет наихудшей проблемы, и у меня есть работающее приложение CRUD, но осталась одна проблема с общим удобством использования.

Многие из моих объектов домена имеют ассоциации внешнего ключа с другими объектами домена. Контакт принадлежит владельцу и т. Д.

Однако на страницах CRUD для контакта я не хочу видеть фактический ключ id для владельца ... потому что это не " не значат что-нибудь для пользователей-людей. Я хочу, чтобы вместо этого на экране отображалось более удобное для человека значение Owner.name .

Представления «список» и «показ» явно имеют дело со всеми атрибутами в автоматически сгенерированном коде представления, и у меня есть возможность настроить этот код для управления тем, что представлено. Однако в представлениях «создание» и «редактирование» не перечислены все атрибуты. Вместо этого эти представления выполняют своего рода вызов библиотеки тегов Grails, подобный этому:

...
...

Этот вызов, по-видимому, автоматически определяет во время выполнения, что представляют собой поля, и принимает собственные решения о том, как их отображать. Для объектов домена, имеющих ассоциации, он принимает плохое решение отображать бессмысленный идентификатор связанного объекта, а не более удобный для человека атрибут.

Есть ли «простой» (или, по крайней мере, «передовой») способ изменить способ отображения полей в представлении «редактировать» или «создавать»? Конечно, это обычная проблема, когда Scaffolding используется с объектами домена, имеющими ассоциации.

7
задан Community 23 May 2017 в 10:31
поделиться