0

私は本当に奇妙な問題を抱えています、そして多分あなたの一人がそれに光を当てることができます。私はそれをお願い申し上げます :)

Play用のObjectify1.1rcモジュールを使用してアプリケーションを開発しています!フレームワーク1.1。関連する部分が次の2つの関連オブジェクトがあります。

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

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

いくつかの背景:

  • GoogleコードリポジトリのObjectify1.1rcを使用しています(PlayリポジトリのモジュールはPlayで失敗するようです!1.1)サンプルアプリケーションは正常に動作します
  • Play Framework(Showcase)用のObjectify-1.1rcモジュールで提供されるサンプルアプリケーションで適切に動作する既存のオブジェクトのオブジェクトに基づいています。
  • アプリケーションとサンプルアプリケーション(Showcase)を同じCRUDモジュールにポイントして、デバッグとテストを行いました。
  • Javaコードを使って問題なくリンクできます。

現在、解決できない2つの問題があります。それは次のとおりです。

M:1の関係が保存されていない

Userクラスの「theatres」関係に問題があります。CRUDを介してUserタイプのオブジェクトを編集すると、TheaterインスタンスをUserに関連付けるための複数選択コントロールが表示されます。それらの一部(1つ以上)をクリックしてオブジェクトを保存すると、関係が保存されず、 CRUDインターフェースを介してオブジェクトをリンクすることはできません。

どうすればそれを機能させることができますか?

CRUDコードは、一方のアプリケーションではアクセスされていませんが、もう一方のアプリケーションではアクセスされています

Objectifyモジュール(Showcase)のサンプルアプリケーションを使用すると、CRUDを使用してM:1の関係を保存できます。前に述べたように、アプリケーションとショーケースの両方が同じCRUDモジュールを指しているため、まったく同じコードを使用する必要があります。ログ出力を介してデバッグすることで気付いたのは、アプリケーションがCRUDを使用しているのに、サンプルアプリケーションは特定の時点までのすべてのコードを使用していることです。

CRUDモジュールは「tag/form.html」に移動し、「relation」タイプのフィールドを(私のコードとサンプルアプリケーションの両方で)見つけますが、タグ「#{crud.relationField}」を呼び出すと、奇妙なことが起こります:私のアプリケーションCRUDモジュールで定義されたタグに入ります。サンプルアプリケーションはそのコードにアクセスせず、そのタグに追加されたログはトリガーされません(ファイルの任意の時点で)。

サンプルアプリケーションでタグの代わりを検索しましたが、見つかりません。ご想像のとおり、それは私を夢中にさせ、デスクトップに住んでいる緑のレプラコーンを信じ始めさせます(私に金を与えずに、彼らを酷評します!)

なぜこれが起こるのか誰もが知っていますか?また、サンプルアプリケーションによって実行されているコードを見つけることができましたか?それを見つけることはおそらく問題#1を解決するでしょう

どうもありがとう!

4

1 に答える 1

0

わかりました、#1の問題を見つけました。「getTheatres()」というメソッドがあり(別の名前が必要でしたが、エラーでした)、それがCRUDを壊していました。メソッドの名前を変更すると、問題#1が解決します。

なぜ#2が起こっているのかはまだわかりませんでしたが、私たちの世界で非常に一般的な「コンピューターで動作する」問題の1つとして残すと思います...

于 2010-12-07T22:22:38.133 に答える