Я пытался создать сервис (код ниже).Он получает список параметров, переданных от контроллера, итерирует по ним и сохраняет его.Теперь я продолжаю получать эту ошибку:
Error 500: Executing action [save] of controller [controller.EmploymentHistoryController] caused exception: Runtime error executing action
Servlet: grails
URI: /hrapp/grails/employmentHistory/save.dispatch
Exception Message: No signature of method: static service.EmploymentHistoryService.saveEmploymentHistory() is applicable for argument types: (org.codehaus.groovy.grails.web.servlet.mvc.GrailsParameterMap) values: [[position:ksfdj, startDate:Wed Feb 22 00:00:00 PHT 2012, ...]] Possible solutions: saveEmploymentHistory(java.lang.Object)
Caused by: No signature of method: static service.EmploymentHistoryService.saveEmploymentHistory() is applicable for argument types: (org.codehaus.groovy.grails.web.servlet.mvc.GrailsParameterMap) values: [[position:ksfdj, startDate:Wed Feb 22 00:00:00 PHT 2012, ...]] Possible solutions: saveEmploymentHistory(java.lang.Object)
вот мой код:
def saveEmploymentHistory(params){
params.company = [params.company].flatten()
params.position = [params.position].flatten()
params.responsibilities = [params.responsibilities].flatten()
params.startDate = [params.startDate].flatten()
params.endDate = [params.endDate].flatten()
params.employee = [params.employee].flatten()
params.company.eachWithIndex{ company, i ->
def employmentHistory = new EmploymentHistory()
employmentHistory.employee = params.employee[i]
employmentHistory.company = company
employmentHistory.position = params.position[i]
employmentHistory.responsibilities = params.responsibility[i]
def tempStartDate = "${params.startDate_year[i]}/${params.startDate_month[i]}/${params.startDate_day[i]}"
employmentHistory.startDate = new Date(tempStartDate)
def tempEndDate = "${params.endDate_year[i]}/${params.endDate_month[i]}/${params.endDate_day[i]}"
employmentHistory.endDate = new Date(tempEndDate)
employmentHistory.save(flush:true)
}
}
Бьюсь об заклад, ошибка происходит от даты вещь.Я попробовал несколько решений, найденных здесь , но безрезультатно.Также попытался сделать код ниже, но все еще получает ту же ошибку ...
employmentHistory.endDate = new Date(params.endDate[i])
employmentHistory.startDate = new Date(params.startDate[i])
Еще одна попытка, но ошибка:
employmentHistory.endDate = params.endDate[i]
employmentHistory.startDate = params.startDate[i]
Любые предложения о том, как это сделатьэто правильно?Я не очень знаком с заводной.:( Любая помощь будет оценена.