Scala 播放框架-使用参数重定向

Scala 播放框架-使用参数重定向,scala,playframework,playframework-2.0,Scala,Playframework,Playframework 2.0,我试图弄清楚如何使用Scala在游戏(2.0)中的控制器动作中进行重定向 使用 Redirect(routes.Application.index) 很好用 从docs、API或Google中我无法理解的是如何向调用中添加参数 我来自Grails,在那里可以很容易地做到这一点,如下所示: 重定向操作:“索引”,参数:[“键”:“值”] 我发现的唯一方法是使用字符串url和查询字符串调用重定向,这看起来很尴尬 基本上,我希望以某种方式使用重定向(Call),但我不知道如何使用反向路由创建Cal

我试图弄清楚如何使用Scala在游戏(2.0)中的控制器动作中进行重定向

使用

Redirect(routes.Application.index)
很好用

从docs、API或Google中我无法理解的是如何向调用中添加参数

我来自Grails,在那里可以很容易地做到这一点,如下所示:

重定向操作:“索引”,参数:[“键”:“值”]

我发现的唯一方法是使用字符串url和查询字符串调用重定向,这看起来很尴尬

基本上,我希望以某种方式使用重定向(Call),但我不知道如何使用反向路由创建Call对象

我是否遗漏了一些东西/没有理解概念/Scala

提前谢谢

Ellou'

路由只是一个函数,因此您可以像往常一样传递参数:

// Redirect to /hello/Bob
def helloBob = Action {
    Redirect(routes.Application.hello("Bob"))    
}

此代码段来自(底部)

您也可以避免仅在控制器中为此创建另一个函数。在路由配置中,您可以简单地添加如下内容:

  GET  /google  @controllers.Default.redirect(to = "http://google.com")

谢谢实际上,我一开始就试过了,但是编译器抱怨说,我输入了太多的参数。问题是:该操作需要很长时间,但在我定义的路由中,应该为该操作设置一个默认值。我必须把它去掉。所以现在我需要调用index(None)或index(Some(foo))。来自Grails,这看起来真的很乏味。+1这就是类型安全URL的意义所在。我希望这部戏能以现在的价格卖出更多。这在最近的戏里发生了变化吗?我似乎找不到/导入路由(我获取的值路由未定义)。@zenith:希望它有帮助这似乎不起作用。我没有得到这样的文件或目录