问题标签 [revel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
229 浏览

go - 狂欢中的模板布局

是否可以在 Revel 中使用模板布局。例如,有一个包含{{define "main"}}{{end}}标签的 root.html。然后调用ExecuteTemplate(out, "main", nil) http://golang.org/pkg/html/template/#Template.ExecuteTemplate

像 c.RenderLayout() 这样的东西

0 投票
1 回答
157 浏览

go - 未定义:revel.TestSuites

在对软件包进行更新后,我在启动和运行Revel时遇到了一些问题。每次我尝试运行 revel 应用程序时,都会收到以下错误消息:

起初我认为这是由于我当前项目中的一些遗留代码,但后来我试图让官方示例项目工作,但同样的错误也出现在这些项目中。不知道如何进一步推动这一点。我什至不使用testrunner,所以它甚至不应该在main.go文件中生成。

更新

看起来我有一个旧的 revel 二进制文件,必须删除它并获取 revel cmd 包,在我这样做之后TestSuites问题就解决了。

0 投票
2 回答
233 浏览

go - 为什么控制器中的 Revel 可选 func 参数不起作用?CRUD 代码冗余

我正在阅读很多关于 Go 的文章,发现我在方法或函数中不能有可选参数(某些参数也不能有默认值)。让我们以简单的CRUD为例。

我想使用相同的控制器操作来创建和更新,只是为了简单:

当我尝试{{ url "Account.User" }}在模板中执行时,我收到一条错误消息,提示我缺少参数。一旦我对路由值进行硬编码,我就会在代码的未知部分上有一些无效的内存地址或 nil 指针取消引用。

如果没有可选/默认参数,我将拥有我不想要的 CRUD 代码冗余!

因此,我将不得不为同一件事使用两个函数,而不是一个函数,这两个函数仅在一行代码中有所不同。

自从我 7 天前开始学习 Go 和 Revel 以来,也许我错过了一些东西。我使用 Go 和 Revel 的唯一原因是为了速度。我将它用于一些有很多请求(每天数百万)的项目。

有没有办法解决这个问题?

更新

第一个问题是视图:{{ url "Account.User" }}

当我这样使用它时,它说:

所以这更像是一个 Revel 问题,然后是 Go。

0 投票
3 回答
5282 浏览

go - 如何从代码和测试中引用相关文件

我需要参考patients.jsonpatients.go这里是文件夹结构:

在此处输入图像描述

如果我做:

filepath.Abs("../../conf/patients.json")

它适用于go test ./...但失败了revel run

如果我做:

filepath.Abs("conf/patients.json")

正好相反(狂欢很好,但测试失败)。

有没有办法正确引用该文件,以便它既适用于测试又适用于正常程序运行?

0 投票
1 回答
1473 浏览

mongodb - Creating a new mongodb database using revel framework in golang

I am trying to create a new database in mongodb using revel framework and mgo driver. Here's my code in --> src/myapp/app/db/mgo.go

and here's the code from where the program runs --> src/myapp/app/controllers/app.go

The problem is I am not able to create a database by these two parts of separate files of code, whereas when I merge them in one (i.e. just app.go) then it works well. Here's the code that works in --> src/myapp/app/controllers/app.go

So I would like someone to help me in correcting my first two parts of code

0 投票
1 回答
213 浏览

go - 以编程方式确定是否在 revel 框架中进行生产

如何以编程方式检测我是在 revel 框架中处于生产模式还是开发模式?

0 投票
2 回答
897 浏览

go - revel 框架中的相对路径

如何将文件真正导入 revel 框架中的 revel 基本文件夹。目前我执行以下操作来获取一些配置值。

这导致我的服务器只有在我开始狂欢时站在应用程序目录中才能工作

有没有办法访问基本文件夹?

0 投票
2 回答
293 浏览

go - Cache invalidation in revel framework

I'm looking for a way to invalidate cached static content upon version change. Preferably using commit id to invalidate. Is there anyway to do this in revel framework ?

I would prefer if its automatic but I could live with updating it each time if its a single place I have to edit.

The current strategy I have is changing the name of the static content route to include version but this requires several changes. In places that feel unnatural, for instance in the routing file.

0 投票
1 回答
836 浏览

go - Go 为 revel 框架编程交叉编译

我正在使用 Revel 框架来制作一个 Web 应用程序。我正在使用命令为 ARM 交叉编译它 GOOS=linux GOARCH=arm revel package mitm

这很好用,但是我刚刚包含了库github.com/google/gopacket

现在交叉编译的构建失败了(它在我正在开发的 OSX 上运行良好)。

我得到:

错误 2015/07/27 09:01:30 build.go:101: # mitm/app/controllers go/src/webserver/app/controllers/ArpScan.go:88: undefined: pcap.OpenLive go/src/webserver/ app/controllers/ArpScan.go:88: 未定义: pcap.BlockForever go/src/webserver/app/controllers/ArpScan.go:114: 未定义: pcap.Handle go/src/webserver/app/controllers/ArpScan.go: 145:未定义:pcap.Handle

pcap 是从 gopacket 导入的库:

import "github.com/google/gopacket/pcap"

我的问题是如何让它交叉编译这个库?

我运行了 Dave Cheney 的go-crosscompile-build-all链接),但这只是构建标准库。

0 投票
1 回答
345 浏览

go - 从 Revel 框架中的模块继承控制器

我正在尝试在我的应用程序中使用模块中的共享控制器,但我不确定该怎么做。这是我想要做的:

  1. 我有两个 revel 应用程序,一个前端应用程序和一个后端应用程序。前端应用程序用于显示面向用户的站点,后端应用程序用于管理内容。
  2. 我根据预订示例创建了一个特殊的控制器来连接到数据库。
  3. 我希望前端和后端应用程序都使用相同的控制器,以最大限度地减少冗余。

从示例中,当您想要一个控制器数据库时,它大致转换为:

这适用于我只想拥有 1 个应用程序,但是当我想将控制器共享到另一个应用程序时,我无法导入DBController到应用程序。

我尝试过的事情

我尝试移动DBController到它自己的包,然后导入它并直接从它继承:

这给了我一个恐慌错误,指出找不到路由:

在有和没有指针的情况下继承。

我也尝试过 Revel 的模块,使用相同的代码,但不同的目录并通过配置导入:

然后在app.go

但它仍然没有像以前一样出现同样的错误。我非常相信正确的路线是使用模块,因为文档说(强调我的):

模块是可以插入应用程序的包。它们允许在多个 Revel 应用程序或第三方来源之间共享控制器、视图、资产和其他代码。

模块应该与 Revel 应用程序的布局具有相同的布局。“托管”应用程序会将其合并如下:

  1. module/app/views 中的任何模板都将添加到 Template Loader 搜索路径中
  2. module/app/controllers 中的任何控制器都将被视为在您的应用程序中

ETC..

但我不确定如何从这里共享和派生我的控制器。

TL; 博士

如何在 Revel 中共享控制器,以便我可以从其他模块继承控制器,大致如下:

这样DBController可以与多个狂欢应用程序一起使用吗?非常感谢。