Как к прямо к кнопке отправки к другому действию

как я могу перейти к другому действию в контроллере?

У меня есть форма и несколько кнопок отправки. Каждый отправлять кнопку имеет имя.

<g:form action="save" method="post">
   <g:input name="title" value="${letter.title}" />
   <g:input name="comments[0].text" value="${letter.comments[0].text}" />
   <g:submitButton name="save" value="save" />
   <g:submitButton name="addComment" value="add" />   
</g:form>

def save = {

     if (params.addComment){
       letter.addToComents(  new Comment() ) 
       render(view:'form', model:["letter": letter])
       return
     }

    ...
    if ( letter.save() ) 
    ...
}

def addComment = {
      ...
    }

Это работает, но это не хорошо. Я хочу код перемещения от блока "addComment" к действию addComment:

def save = {

     if (params.addComment){
       // it don´t work
       redirect ( action:"addComment" )
     }

    ...
    if ( letter.save() ) 
    ...
}

def addComment = {
      letter.addToComents(  new Comment() ) 
      render(view:'form', model:["letter": letter])
      return
    }

Или это существует лучшее решение? Это было бы хорошо:

<g:submitButton name="save" value="save" action="save" />
<g:submitButton name="addComment" value="add" action="addComment"  /> 

Большое спасибо Tom

5
задан Tomáš 10 June 2010 в 13:16
поделиться

1 ответ

Вместо этого используйте тег g:actionSubmit.

        <g:form  method="post">
           <g:input name="title" value="${letter.title}" />
           <g:input name="comments[0].text" value="${letter.comments[0].text}" />
           <g:actionSubmit action="save" value="Save" />
           <g:actionSubmit action="addComment" value="Add Comment" />   
        </g:form>   
13
ответ дан 18 December 2019 в 14:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: