在我的网站上,主导航栏上有一个下拉菜单。我希望此下拉列表中的所有页面都受到限制 - 因此需要登录才能查看它们,如果用户未登录,他们将被重定向到登录屏幕。我已经集成了所有游戏!在我的项目中验证代码并查看示例项目play-authenticate-usage。在他们的示例中,他们有一个受限页面,该页面在 Application.java 中调用此方法:
@Restrict(Application.USER_ROLE)
public static Result restricted() {
final User localUser = getLocalUser(session());
return ok(restricted.render(localUser));
}
此方法返回要查看的渲染页面。我尝试复制此方法,以便可以返回我想要的受限页面:
@Restrict(Application.USER_ROLE)
public static Result restrictedCreate() {
final User localUser = getLocalUser(session());
return ok(journeyCreator.render(localUser));
}
我在路由文件中添加了这个新方法:
GET /restricted controllers.Application.restrictedCreate()
并通过下拉代码修改,以便调用我的新方法:
<li><a href="@routes.Application.restrictedCreate()"><i class="icon-plus-sign"></i> @Messages("journeys.dropdown.option1")</a></li>
在这个阶段我遇到了一个编译错误:error: method render in class journeyCreator cannot be applied to given types;
所以我检查了我试图渲染的页面JourneyCreator.scala.html并添加了localUser: models.User = null
争论。我的JourneyCreator.scala.html现在看起来是这样的:
@(localUser: models.User = null, listJourneys: List[Journey], journeyForm: Form[Journey])
@import helper._
@main("Journey Creator", "journeys") {
......
}
}
然而,这样做会导致各种错误:在与JourneyCreator.scala.htmlerror: method render in class journeyCreator cannot be applied to given types;
相关的其他方法中。任何帮助表示赞赏。