2017-02-12 1 views
0

grails 2.4.2를 사용하고 있습니다. 나는 JointMemberInvestment와 같은 도메인을 가지고 있는데, 여기서 hava는 JointMember 클래스의 인스턴스이다. 그러나 데이터를 저장하려고 할 때 다음 오류가 표시됩니다. Could not find matching constructor for: somiti.JointMember(java.lang.String).grails 일치하는 생성자를 찾을 수 없습니다 : somiti.JointMember (java.lang.String)

아무도 도와 줄 수 있습니까? 여기 내 시도는 다음과 같습니다 :

내 도메인 클래스 : 저장 방법

class JointMemberInvestment { 

    JointMember jointMember 
    int investAmount 
    Date investDate 

    static mapping = { 
     table('joint_member_investment') 
     version defaultValue: 0 
    } 

    static constraints = { 
     investAmount(nullable: false, blank: false) 
     investDate(nullable: false, blank: false) 
    } 
} 

내 컨트롤러 :

@Transactional 
def save(JointMemberInvestment jointMemberInvestmentInstance) { 
    if (jointMemberInvestmentInstance == null) { 
     notFound() 
     return 
    } 

    String investDate = params.investDate; 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
    Date date = sdf.parse(investDate); 
    java.sql.Date sqlInvestDate = new java.sql.Date(date.getTime()); 

    jointMemberInvestmentInstance.investDate = sqlInvestDate 
    jointMemberInvestmentInstance.jointMember = JointMember.get(Long.parseLong(params.jointMemberId))   

    if (jointMemberInvestmentInstance.hasErrors()) { 
     respond jointMemberInvestmentInstance.errors, view: 'create' 
     return 
    } 

    jointMemberInvestmentInstance.save flush: true 

    request.withFormat { 
     form multipartForm { 
      flash.message = message(code: 'default.created.message', args: [message(code: 'jointMemberInvestment.label', default: 'JointMemberInvestment'), jointMemberInvestmentInstance.id]) 
      redirect jointMemberInvestmentInstance 
     } 
     '*' { respond jointMemberInvestmentInstance, [status: CREATED] } 
    } 
} 
+1

'JointMember.get ('has'has 'hasErrors()'다음에 코드에 추가 할 내용이 있으므로 문제가 관련되지 않은 코드 조각을 추가해도 문제가 해결되지 않습니다. 더 구체적으로 그것은 '일치하는 생성자를 찾을 수 없습니다.'라는 메시지가 컨트롤러/서비스 및 행 번호와 같은 추가 단서를 제공합니까? 실제 오류 코드의 절반과 실제 코드의 절반 잘 - 우리가 사용자의 자리에 앉아 있지 않는 한 – Vahid

+0

@vahid는 답장을 보내 주셔서 감사 드리며 다른 오류는 표시되지 않습니다. 저장 중에 표시되며 콘솔에서는 전혀 오류가 없습니다. –

답변

0
jointMemberInvestmentInstance.investDate = sqlInvestDate 
    jointMemberInvestmentInstance.jointMember = JointMember.get(Long.parseLong(params.jointMemberId))   

bindData(jointMemberInvestmentInstance, params, [exclude:['JointMember']]) 

    if (jointMemberInvestmentInstance.hasErrors()) { 
     respond jointMemberInvestmentInstance.errors, view: 'create' 
     return 
    } 

이 당신을 도움이 될 수 있음.

관련 문제