Создание нескольких записей в Grails - PullRequest
0 голосов
/ 20 декабря 2011

Может кто-нибудь сказать мне, как создать несколько записей в Grails.

Этот класс находится в моем домене (OperationLog.groovy)

class OperationLog {

    int x, y
    String text
    Validator validator;
    Date oDate = new Date();
    static optionals = ["oDate" ];

    static belongsTo = [Validator]
}

Я просто хочу иметь возможность нажать кнопку «Создать», чтобы создать 1000 объектов, и когда я нажимаю кнопку OperationLog List , я хочу видеть эти 1000 записей.

и этот фрагмент кода принадлежит контроллерам (OperationLogController.groovy)

    def list = {
        params.max = Math.min(params.max ? params.int('max') : 10, 100)
        [operationLogInstanceList: OperationLog.list(params), operationLogInstanceTotal: OperationLog.count()]
    }

    def create = {
        def operationLogInstance = new OperationLog()
        operationLogInstance.properties = params
        operationLogInstance.validator = Validator.get(params.validatorId)
        operationLogInstance.operation = Operation.get(params.operationId)
        return [operationLogInstance: operationLogInstance]
    }

    def save = {

        def operationLogInstance = new OperationLog(params)
        println(params.validator)
        operationLogInstance.validator = Validator.get(params.validator.id);
        if (operationLogInstance.save(flush: true)) {
            flash.message = "${message(code: 'default.created.message', args: [message(code: 'operationLog.label', default: 'OperationLog'), operationLogInstance.id])}"
            redirect(action: "show", id: operationLogInstance.id)
        }
        else {
            render(view: "create", model: [operationLogInstance: operationLogInstance])
        }
    }

Этот код создает только по одному за раз, и вот так выглядит представление

http://dl.dropbox.com/u/38860715/scr.png

1 Ответ

4 голосов
/ 20 декабря 2011

Точно так же, как вы делаете что-либо несколько раз, то есть с циклом или замыканием, которое выполняется несколько раз, например:

  def save = {
    1000.times {
      def operationLogInstance = new OperationLog(params)
      println(params.validator)
      operationLogInstance.validator = Validator.get(params.validator.id);
      operationLogInstance.save(flush: true)                   
    } 
    redirect(action: "list")
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...