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 モデルでモデルのメソッドをオーバーライドして、書籍のレコードを追加/変更するユーザーを保存しようとしています。
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);
}
これを行うと発生するエラーは次のとおりです。
メソッド session() は、タイプ Books に対して未定義です。
インポートのためにコントローラー/アプリケーションメソッドにアクセスできるため、これがどのようになるかはわかりません。
コントローラーをインポートします。アプリケーション;
アップデート: *
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());
}
}*