我正在尝试在 play-authenticate 模块的 User 模型和我的模型 - Books 之间建立关系。我正在使用 play 2.0.4,并且我已将 play-authenticate 集成到我的项目中。在我的控制器/应用程序中,我有 getLocalUser 方法:
public static User getLocalUser(final Session session) {
final User localUser = User.findByAuthUserIdentity(PlayAuthenticate
.getUser(session));
return localUser;
}
我正在尝试在我的 Books 模型中覆盖 Model 的方法来保存添加/修改图书记录的用户。
public void save() {
User logged = Application.getLocalUser(session());
if (logged != null) {
this.createUser = logged;
this.modifyUser = logged;
}
super.save();
}
public void update(Object o) {
User logged = Application.getLocalUser(session());
if (logged != null) {
this.modifyUser = logged;
}
super.update(o);
}
我这样做时得到的错误是:
未定义 Books 类型的 session() 方法。
我不确定这是怎么回事,因为由于我的导入,我确实可以访问控制器/应用程序方法:
导入控制器。应用程序;
更新: *
public static Result createBook() {
Form<Book> filledForm = bookForm.bindFromRequest();
if(filledForm.hasErrors()) {
return badRequest(
views.html.bookCreator.render(Book.all(), filledForm)
);
}
else {
Book.create(filledForm.get());
//Book.save(getLocalUser(session()));
return redirect(routes.Application.createSuccess());
}
}*