Opa, que bom que está gostando da nova versão do Grails Brasil Handel. Encontrando problemas, me contacte ok?
Com relação ao seu problema, o que exatamente você quer fazer? Criar novos atributos na sua classe de domínio que refletirão em novos campos na tabela relacionada? Se for isto, de cara eu te desrecomendo esta técnica, porque você terá problemas imensos no futuro.
Agora, uma outra alternativa (que também é ruim), consiste em você ter uma estrutura de dados na qual seja implementado um modelo do tipo chave/valor. Nesta situação, há basicamente duas classes de dominio: a que recebe os valores e a que armazena os valores.
Vou chamar a primeira de Entidade, e a segunda de Atributo. A primeira possui todos os atributos que esperamos encontrar, enquanto a segunda representa estes atributos. Implementaria a segunda tal como no exemplo abaixo:
class Atributo {
String chave
String valor
static belongsTo = [entidade:Entidade]
}
No seu formulário, quando estiver incluindo novos campos, lembre-se de incluir também uma tag hidden contendo o nome do atributo chave a ser incluido relativo ao valor. Você pode adicionar um sufixo ao nome do campo que está sendo criado pra facilitar a sua vida. Algo como input_txt_campo_[nome da chave]
Em seguida, no seu controlador, basta que você itere em cima das chaves presentes nos parametros recebidos (o famigerado "params") seguindo as regras de nomenclatura.
É uma solução. Mas a gente pode pensar em outras por aqui também. :)