2014-07-12 3 views
0

다음과 같이 오류 메시지 팝업을 표시해야합니다 : link. 페이지 상단에 몇 초 동안 나타나야하고 사라집니다.grails 컨트롤러에서 부트 스트랩 팝업 호출

if (!userInstance.save(flush: true)) { 

    // THE ERROR POPUP SHOULD BE CALLED FROM HERE 

    return 
}else { 
    ... 
} 

어디에서 코드를 HTML에 배치해야합니까? GRAILS 컨트롤러에서 어떻게 호출해야합니까?

답변

2

컨트롤러의 데이터를 표시하는보기와 마찬가지로이 정보를 모델에 배치해야합니다. 모델의 표준 요소를 사용하여 전체 프로젝트 (이 프로젝트가 진행되는 곳이라고 가정)를보다 쉽게 ​​구현할 수 있도록하는 것이 좋습니다.

그래서 예를 들어, 컨트롤러 (들) :

def model = [:] 
model['userInstance'] = userInstance 
... 
if (!userInstance.save(flush: true)) { 
    // set/lookup the error message 
    model['errorMessage'] = message(code: 'some.error.message.you.lookup') 
    // render the view 
    render(view: 'theviewname', model: model) 

    return 
}else { 
    ... 
} 

그런 다음 당신이보기에이 표시 (또는 레이아웃) 할 수 있습니다

<g:if test="${errorMessage}"> 
    <div class="class="alert alert-danger alert-dismissable">${errorMessage}</div> 
</g:if> 

내가 멀리 퇴색 만들기를 떠나 (jquery의 뿌림) 여기에서 개념이 가장 중요한 부분이기 때문에 그림에서.

희망이 있으시면 Grails에 오신 것을 환영합니다!

+0

실제로 사용자가 성공적으로 로그인 할 때 나타나길 원합니다. authController.groovy 파일이 없으므로 코드를 편집 할 수 없습니다. 어떻게 정렬 할 수 있습니까? – Illep

+0

새로운 질문을하는 것이 가장 좋습니다. 모델을 채우는 컨트롤러, 사용중인 main.gsp 레이아웃 및 레이아웃을 사용하는보기가 표시됩니다. 그렇게하면 우리 모두 도울 수 있고 그렇게하는 데 필요한 정보를 얻을 수 있습니다. –

관련 문제