Example #1
0
func (r *RenderLayoutTemplateResult) renderError(req *revel.Request, resp *revel.Response, err error) {
	var templateContent []string
	templateName, line, description := parseTemplateError(err)
	if templateName == "" {
		templateName = r.Layout.Name()
		templateContent = r.Layout.Content()
	} else {
		if tmpl, err := revel.MainTemplateLoader.Template(templateName); err == nil {
			templateContent = tmpl.Content()
		}
	}
	compileError := &revel.Error{
		Title:       "Layout Execution Error",
		Path:        templateName,
		Description: description,
		Line:        line,
		SourceLines: templateContent,
	}
	resp.Status = 500
	revel.ERROR.Printf("Template Execution Error (in %s): %s", templateName, description)
	revel.ErrorResult{r.RenderArgs, compileError}.Apply(req, resp)
}