1
0
mirror of https://github.com/astaxie/beego.git synced 2024-09-28 13:21:50 +00:00

Add layout rebuilding on each request in dev mode

This commit is contained in:
saturn4er 2016-03-07 23:23:07 +02:00
parent f6f34306ee
commit 2c5ef8ccc8

View File

@ -39,9 +39,9 @@ const (
)
var (
// ErrAbort custom error when user stop request handler manually.
// ErrAbort custom error when user stop request handler manually.
ErrAbort = errors.New("User stop run")
// GlobalControllerRouter store comments with controller. pkgpath+controller:comments
// GlobalControllerRouter store comments with controller. pkgpath+controller:comments
GlobalControllerRouter = make(map[string][]ControllerComments)
)
@ -230,7 +230,9 @@ func (c *Controller) renderTemplate() (bytes.Buffer, error) {
}
if BConfig.RunMode == DEV {
buildFiles := []string{c.TplName}
if c.Layout != "" && c.LayoutSections != nil {
if c.Layout != "" {
buildFiles = append(buildFiles, c.Layout)
if c.LayoutSections != nil {
for _, sectionTpl := range c.LayoutSections {
if sectionTpl == "" {
continue
@ -238,6 +240,7 @@ func (c *Controller) renderTemplate() (bytes.Buffer, error) {
buildFiles = append(buildFiles, sectionTpl)
}
}
}
BuildTemplate(BConfig.WebConfig.ViewsPath, buildFiles...)
}
return buf, executeTemplate(&buf, c.TplName, c.Data)
@ -281,7 +284,7 @@ func (c *Controller) URLFor(endpoint string, values ...interface{}) string {
return ""
}
if endpoint[0] == '.' {
return URLFor(reflect.Indirect(reflect.ValueOf(c.AppController)).Type().Name()+endpoint, values...)
return URLFor(reflect.Indirect(reflect.ValueOf(c.AppController)).Type().Name() + endpoint, values...)
}
return URLFor(endpoint, values...)
}
@ -487,7 +490,7 @@ func (c *Controller) SaveToFile(fromfile, tofile string) error {
return err
}
defer file.Close()
f, err := os.OpenFile(tofile, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666)
f, err := os.OpenFile(tofile, os.O_WRONLY | os.O_CREATE | os.O_TRUNC, 0666)
if err != nil {
return err
}