有关上下文,请参阅原始问题。
附加背景:
- Objectify-Appengine 用于持久化。
FormProxy
并且QuestionProxy
是 EntityProxy 类型QuestionDataProxy
并且它的子类型是类型ValueProxy
- 所有编辑器都实现
HasRequestContext
,并且在QuestionData
子类型编辑器的情况下,HasRequestContext.setContext()
从父级显式调用。
第一个问题与集合有关,第二个问题与多态类型有关。我不确定问题是否出在我使用 Editors 或 RequestFactory 的方式上。由于数据不存在于 RPC 有效负载中,我们可以排除持久性设置。
问题
QuestionProxy 的值在 RPC 请求中都是空的(如果 QuestionProxy 是新创建的,否则确定)
问题
Questions
从表单中添加/删除的正确方法是什么。在使用编辑器时调用创建Question
、编辑Form
、更新方法的顺序是什么?QuestionData
当前解决方案
添加问题功能(在活动中):
@Override
public void addQuestion(final QuestionEditor questionEditor) {
final QuestionProxy proxy = theOneAndOnlyOneContextForEditing.create(QuestionProxy.class);
final QuestionRequest dpr = theOneAndOnlyOneContextForEditing.append(clientFactory.getRequestFactory()
.qestionRequest());
dpr.updateQuestion(proxy);
questionListEditor.asEditor().getList().add(proxy);
}
要删除一个问题,我会在问题中标记一个标志,这会将其从服务器上的列表中删除,然后将其删除。(hack) 这仅适用于已保存的问题。