我在scala中编写可重用代码时遇到问题。
如果我有类似
的话@helper.form(action = routes.Guides.addComment(category,title)) {
有没有办法用变量替换它?
伪代码
@(func : Function)
@helper.form(action = func) {
编辑:
噢......现在有点显而易见了。函数本身应该返回一个字符串,所以我想我可以说这样的事情@(func :String)
..
return ok (form.render(routes.Guides.test()))
立即测试
答案 0 :(得分:2)
想通了。
带
routes.Guides.test().url
您获取了网址,然后您可以将其用作参数
例如
@guidesComment((routes.Guides.addComment(ug.category,ug.title)).url)
guidesComment看起来像这样
@(func: String)
然后像这样使用它
<form action="@func" method="POST">
答案 1 :(得分:2)
我可以建议一个替代方案吗?直接使用Call。
@(route: Call)
@helper.form(action = route) {
...
}
在Scala中,你甚至可以只传递路径的一部分并从控制器中填充其余部分(当你使用分页时非常有用)。