2016-12-05 4 views
0

У меня есть класс домена Grails со списком строк в нем, и я хочу редактировать эти строки. Для простоты предположим, что список имеет фиксированный размер. Вот что у меня есть:Как создать форму редактирования списка строк в Grails?

MyEntity.groovy:

class MyEntity { 

    String name 
    List variables = ['one', 'two', 'three'] 

    static hasMany = [ 
      variables: String, 
    ] 
} 

_fields/MyEntity/переменные/_widget.gsp:

<g:textField name="variables[0]" value="${value[0]}" /> 
<g:textField name="variables[1]" value="${value[1]}" /> 
<g:textField name="variables[2]" value="${value[2]}" /> 

Это делает текстовые поля для каждого элемента в списке, которые укажи с правильными значениями. Однако, когда я редактирую значения и упускаю форму, мои изменения удаляются. Что мне не хватает?

ответ

0

Хорошо, я нашел это сам. Все поля ввода должны иметь имя свойства домена без индекса:

<g:textField id="variables[0]" name="variables" value="${value[0]}" /> 
<g:textField id="variables[1]" name="variables" value="${value[1]}" /> 
<g:textField id="variables[2]" name="variables" value="${value[2]}" />