2010-12-06 6 views
0

У меня действительно странная проблема, и, возможно, один из вас может пролить немного света . Я был бы признателен :)Проблемы с отношениями M: 1 с использованием Objectify 1.1rc и CRUD при воспроизведении 1.1

Я разрабатываю приложение, используя Objectify 1.1rc module for Play! Рамка 1.1. У меня есть 2 связанные объекты, соответствующие части:

public class User extends ObjectifyModel<User> { 
    [...] 
    public List<Key<Theatre>> theatres; 
    [...]  
} 

public class Theatre extends ObjectifyModel<Theatre> { 
    [...] 
} 

Некоторые фона:

  • Я использую объективизации 1.1rc из хранилища кода Google (модуль в хранилище Play, кажется, не в состоянии с Play! 1.1) Образец приложения отлично работает
  • Я основывал объекты на существующих объектах, работающих правильно на образце приложения, поставляемого с модулем Objectify-1.1rc для Play Framework (Showcase).
  • Я отлаживал и тестировал, указывая свое приложение и образец приложения (витрины) на тот же модуль CRUD.
  • Я могу связать их с помощью кода Java без каких-либо проблем.

В настоящее время у меня есть 2 проблемы, которые я не могу решить, а именно:

М: 1 отношение не сохраненные

У меня есть проблема с сферой отношений между театрами из класса пользователя , При редактировании объекта типа типа через CRUD я могу видеть элемент управления с несколькими выборами, чтобы связать экземпляры Театра с пользователем. Когда я нажимаю на некоторые (один или несколько) из них и сохраняю объект, отношение не сохраняется, что делает невозможным связывание объектов через интерфейс CRUD.

Как это сделать?

код CRUD не доступно одним приложения, но доступ к другому приложением

Образца из модуля объективировать (Витрина) позволяет мне сохранить М: 1 отношения, используя CRUD. Как я упоминал ранее, как мое приложение, так и витрина указывают на тот же модуль CRUD, поэтому они должны использовать точно такой же код. То, что я заметил, путем отладки через выходы журнала, заключается в том, что мое приложение использует CRUD, но пример приложения использует весь код до определенной точки.

Модуль CRUD проходит к тегу/form.html, находит поле типа «отношение» (как в моем коде, так и в примере приложения), но при вызове тега '# {crud.relationField}' что-то странное происходит: мое приложение входит в тег, определенный в модуле CRUD. Образец приложения не получает доступ к этому коду, никакие журналы, добавленные в этот тег, не запускаются (в любой точке файла).

Я искал любую замену тега в образце приложения, но я не могу его найти. Как вы можете догадаться, это сводит вас с ума и заставляет меня начать верить в зеленых гномов, живущих на моем рабочем столе (не давая мне золота, черт их!)

Кто-нибудь знает, почему это происходит? И могу ли я найти код, выполняемый образцом приложения? Обнаружение этого, скорее всего, решит проблему № 1

Спасибо большое!

ответ

0

Хорошо, нашел проблему №1.У меня был метод «getTheatres()» (должно было быть другое имя, было ошибкой), и это нарушало CRUD. Переименование метода решает проблему №1.

Я до сих пор не нашел, почему произошло # 2, но я считаю, что я останусь одним из таких «работающих на моем компьютере» вопросов, столь распространенных в нашем мире ...