2016-07-27 7 views
0

私は動作していたbeegoアプリケーションを持っていましたし、ルーターがコントローラーの検索を停止しました。私が入力したURLに関係なく、ルータはノマッチを告げるコントローラーに指示しません。ルーターが見つかりませんでした。ベーゴ

2016/07/26 17:24:50 [router.go:829] [D] | |/| |478.352μs| | notmatch |

app.conf

appname = exampleapp 
httpport = 8080 
runmode = dev 

func init() { 
    beego.Router("/", &controllers.MainController{}) 
} 

デ)

package routers 

import (
    "github.com/astaxie/beego" 
    "example/controllers" 

router.go fault.go(コントローラ)

package controllers 

import (
     "github.com/astaxie/beego" 
) 

type MainController struct { 
     beego.Controller 
} 

func (c *MainController) Get() { 
     c.Data["Website"] = "http://localhost:8080" 
     c.TplName = "index.tpl" 
} 

main.go

package main 

import (
     "fmt" 
     "github.com/astaxie/beego" 
) 

func main() { 
     fmt.Pritnln("Starting Beego App") 
     beego.Run() 
     fmt.Println("Finished Running Beego App") 
} 

私はこのように私はそれがコントローラを見つけることができません理由を理解したいと思いますhttp://beego.me/docs/mvc/controller/router.mdの仕様に従っていると信じています。

答えて

2

routersパッケージをインポートしていません。 routersをどこにでもインポートしないと、init関数は決して実行されません。あなたはfmt.Println('I'm initialized')routers.initファンクションに追加してテストすることができます。

func init() { 
    fmt.Println('I'm initialized') 
    beego.Router("/", &controllers.MainController{}) 
} 

[OK]を、あなたは使用しません、しかし、init機能が実行されると言うことは_で新しいインポートを追加する必要があります!次に、これをメインパッケージに書いてください:

import (
     "fmt" 
     "github.com/astaxie/beego" 

     _ "example/routers" 
) 

私はそれが役に立つといいですね! :-)

+0

それでした。非常に有用で、私の最後には愚かなミス。私はすべての間違った場所を見て終わった! – and0rsk

関連する問題