Windows上的新水牛项目:找不到模板items / index.html

时间:2019-12-16 23:09:23

标签: buffalo

我正在与某人合作构建Buffalo应用。它们在Windows上,而我在Linux上。生成模型后,他们在访问列表路线http://localhost:3000/items/时遇到500错误。该问题与issue 1757非常相似,除了该问题已解决且在Linux和Mac上可以使用完全相同的来源。我怀疑这是由于反斜杠而不是正斜杠,但无法确认。通过创建一个新的buffalo项目,配置数据库,生成模型然后访问路线,我能够在Windows上重现此内容。这在MinGW和Powershell中均失败。我正在使用Go模块(GO111MODULE=on),并清理了模块缓存,重建了buffalobuffalo-pop

有人可以确认这在Windows上是否有效吗?除了让他们迁移到Linux之外,我还能尝试什么?

$ buffalo version
time="2019-12-16T17:55:24-05:00" level=info msg="Buffalo version is: v0.15.3"
$ buffalo-pop pop --version
v4.13.0

堆栈跟踪

T: %!s(i18n.TranslateFunc=0xaf30e0)

app: &{{/items 127.0.0.1:3000 http://127.0.0.1:3000 development  debug {%!s(*logrus.Logger=&{0xc0000a2008 map[] 0xc00035fa90 false 5 {{0 0} false} {{} 0xc0002f1d00 2 <nil> 0 <nil>} 0x4ebeb0})} %!s(http.HandlerFunc=0xab0c00) %!s(*sessions.CookieStore=&{[0xc000261950] 0xc000347c00}) _demo_session %!s(*worker.Simple=&{{0xc00023d810} 0xc0003d7500 0x590830 map[] 0xc00035fab0}) %!s(bool=false) [] [] /items/{item_id} context.Background.WithCancel.WithCancel %!s(context.CancelFunc=0x590830)} github.com/gobuffalo/buffalo.*App.defaultErrorMiddleware
github.com/gobuffalo/buffalo.*App.PanicHandler
github.com/gobuffalo/buffalo.RequestLoggerFunc
github.com/gobuffalo/buffalo.sessionSaver
github.com/gobuffalo/mw-forcessl.Middleware.func1
github.com/gobuffalo/mw-paramlogger.ParameterLogger
github.com/gobuffalo/mw-csrf.glob..func1
github.com/gobuffalo/buffalo-pop/pop/popmw.Transaction.func2
github.com/gobuffalo/mw-i18n.*Translator.Middleware.func1 map[%!s(int=404):%!s(buffalo.ErrorHandler=0xaaebf0) %!s(int=500):%!s(buffalo.ErrorHandler=0xaaebf0)] %!s(*mux.Router=&{0xaba2c0 0xaba2c0 [0xc00029b180 0xc00029b360 0xc00029b540 0xc00029b720 0xc00029ba40 0xc00029bd60 0xc00029bf40 0xc0001fc6e0 0xc0001fce60 0xc0001fd220 0xc0001fd5e0 0xc0001fdb80 0xc0001fdea0 0xc0003ee0a0 0xc0003ee3c0 0xc0003ee6e0 0xc0003ee8c0 0xc0003eeaa0 0xc0003eedc0 0xc0003ef0e0 0xc0003ef2c0 0xc0003ef5e0 0xc0003ef900 0xc0003efae0 0xc0003efcc0 0xc000410000 0xc000410320 0xc000410500 0xc000410820 0xc000410b40 0xc000410d20 0xc000410f00 0xc000411220 0xc000411540 0xc000411720 0xc000411a40 0xc000411d60] map[] false [] {false false false {<nil> <nil> []} []  <nil>}}) %!s(*sync.RWMutex=&{{0 0} 0 0 0 0}) [] %!s(*buffalo.App=&{{/ 127.0.0.1:3000 http://127.0.0.1:3000 development  5 {0xc00023d810} 0xab0c00 0xc00035ca00 _demo_session 0xc000347c80 false [] []  0xc000347bc0 0x590830} 0xc00035ca20 map[404:0xaaebf0 500:0xaaebf0] 0xc0002703c0 0xc000380360 [0xc00030d680 0xc0003f6300 0xc0003f6500 0xc0003f6380 0xc0003f6400 0xc0003f6580 0xc0003f6600 0xc0003f6480 0xc00030db00 0xc00030de00 0xc00030dc80 0xc00030de80 0xc00030df00 0xc00030dd00 0xc00030dd80 0xc0003f6180 0xc00030df80 0xc0003f6000 0xc0003f6200 0xc0003f6280 0xc0003f6080 0xc0003f6100 0xc0003f6680 0xc0003f6880 0xc0003f6700 0xc0003f6780 0xc0003f6900 0xc0003f6980 0xc0003f6800 0xc00030d780 0xc00030d980 0xc00030d800 0xc00030d880 0xc00030da00 0xc00030da80 0xc00030d900] <nil> [0xc000334a80 0xc000335380 0xc0003f4180 0xc0003f4900 0xc0003f5380] [/]}) [] []}

1 个答案:

答案 0 :(得分:1)

是的,我确认了这种行为。 您应该做的是替代

    return c.Render(200, r.HTML("domain/view.html"))

    return c.Render(200, r.HTML("domain" + string(os.PathSeparator) + "view.html"))

它应可在所有平台上使用。 由于某些原因,path.Join()也不起作用。