1

我在 scala 中编写可重用代码时遇到问题。

如果我有类似的东西

@helper.form(action = routes.Guides.addComment(category,title)) {

有没有办法用变量替换它?

伪代码

@(func : Function)
@helper.form(action = func) {

编辑:

哦....现在有点明显了。函数本身应该返回一个字符串,所以我想我可以这样说

@(func :String)
..

.

return ok (form.render(routes.Guides.test()))

现在测试它

4

2 回答 2

2

弄清楚了。

routes.Guides.test().url

你得到了url,然后你可以把它用作参数

例如

@guidesComment((routes.Guides.addComment(ug.category,ug.title)).url)

指南评论看起来像这样

@(func: String)

然后像这样使用它

<form action="@func" method="POST">
于 2012-08-23T19:57:26.883 回答
2

我可以建议一个替代方案吗?直接使用呼叫

@(route: Call)

@helper.form(action = route) {
  ...
}

在 Scala 中,您甚至可以只传递部分路由并从控制器填充其余部分(在使用分页时非常有用)。

于 2012-08-25T09:01:11.713 回答