Tim Abell
Tim Abell

Reputation: 11870

beego not finding layout tpl file with bee run

I've built a rudimentary layout based site in golang with beego, I've split my page layout into a file called views/_layout.tpl and referenced it as below from a controller.

func (c *BuyerController) Get() {
    ...
    c.Layout = "_layout.tpl"
    c.TplName = "buyers.tpl"
}

The layout has in the middle of it the required line:

    {{.LayoutContent}}

The strange thing is that when I run the web server with IDEA/IntelliJ it renders just fine in the browser, but when I run it from the console with bee run all the html from the layout file is missing and just the contents of buyers.tpl is shown.

I've run each build of the compiled app and it the same happens, the one built by IntelliJ works, and the one built by bee run doesn't.

As far as I can see I've followed http://beego.me/docs/mvc/view/view.md#layout-design

Any ideas what I've done wrong, or any clues how to figure it out? Thanks.

Upvotes: 4

Views: 488

Answers (1)

Tim Abell
Tim Abell

Reputation: 11870

GOPATH. Again. Typical that I post a bounty and then promptly figure it out eh?

IntelliJ keeps it's own copy of the GOPATH information in .idea/*.iml

<orderEntry type="library" name="GOPATH &lt;web&gt;" level="project" />

I'm running gvm to manage go versions, and in order to have packages installed in the right place globally my go path is as follows:

$ echo $GOPATH
/home/tim/.gvm/pkgsets/go1.4.3/global

This however means I'd have to move my src every time I switched go versions. To get round that I've used gvm linkthis to symlink my src into the gvm folder so that my source is in the GOPATH as go expects to find it. The downside of that is that I have to cd to $GOPATH/src/project/ before hitting bee run and not just run it from the real location (which is what I'd done). Without that it finds the .go files but not the layout. I'm not 100% sure why but it makes some sense.

It seems like a lot of yak shaving to make it all work so maybe I'm missing something?

Upvotes: 1

Related Questions