今日から Play フレームワークの学習を始めましたが、非常に優れていて簡単に学習できます。
彼らのウェブサイトで提供されているサンプルを正常に完成させましたが、いくつかの変更を加えたかったのです。
特定のタスクのラベルを更新できるかどうかを確認したかったので、次のアプローチに従いました
まず、データを更新するルートを追加しました
POST /tasks/:id/update controllers.Application.updateTask(id: Long)
次に、次のコードをindex.scala.html
ファイルに追加しました
@form(routes.Application.updateTask(task.id)) {
<label class="contactLabel">Update note here:</label>
@inputText(taskForm("label")) <br />
}
次に、 Application.java クラスを次のように変更しました
public static Result updateTask(Long id) {
Form<Task> taskForm = Form.form(Task.class).bindFromRequest();
if (taskForm.hasErrors()) {
return badRequest(views.html.index.render(Task.all(), taskForm));
} else {
Task.update(id, taskForm.get());
return redirect(routes.Application.tasks());
}
}
最後に Task.java にこのコードを追加しました
public static void update(Long id, Task task) {
find.ref(id).update(task.label);
}
しかし、更新操作を実行すると、このエラーが発生します
[RuntimeException: DataSource ユーザーが null ですか?]
コメントアウトしたのは言うまでもありません
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
ebean.default="models.*"
すでにデータを保存および削除できるため、application.confで; しかし、データベース内のデータを更新できません。なぜこれが起こっているのですか?以前に誰かがこれを試したことがありますか?どうすればこのエラーを解決できますか?