1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-22 17:21:02 +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 ( 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") 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) GlobalControllerRouter = make(map[string][]ControllerComments)
) )
@ -230,7 +230,9 @@ func (c *Controller) renderTemplate() (bytes.Buffer, error) {
} }
if BConfig.RunMode == DEV { if BConfig.RunMode == DEV {
buildFiles := []string{c.TplName} 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 { for _, sectionTpl := range c.LayoutSections {
if sectionTpl == "" { if sectionTpl == "" {
continue continue
@ -238,6 +240,7 @@ func (c *Controller) renderTemplate() (bytes.Buffer, error) {
buildFiles = append(buildFiles, sectionTpl) buildFiles = append(buildFiles, sectionTpl)
} }
} }
}
BuildTemplate(BConfig.WebConfig.ViewsPath, buildFiles...) BuildTemplate(BConfig.WebConfig.ViewsPath, buildFiles...)
} }
return buf, executeTemplate(&buf, c.TplName, c.Data) return buf, executeTemplate(&buf, c.TplName, c.Data)
@ -281,7 +284,7 @@ func (c *Controller) URLFor(endpoint string, values ...interface{}) string {
return "" return ""
} }
if endpoint[0] == '.' { 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...) return URLFor(endpoint, values...)
} }
@ -487,7 +490,7 @@ func (c *Controller) SaveToFile(fromfile, tofile string) error {
return err return err
} }
defer file.Close() 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 { if err != nil {
return err return err
} }